Universal Serial Interface for Amstrad CPC (a.k.a USIfAC)

Started by ikonsgr, 20:20, 05 January 19

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

biishop

This interface is beautiful, practical, compact and do an absolutely necessary job for all old CPC enthusiasts who absolutely want to continue to use the CPC like 30 years before with original 3 inch discs.

The operation is very simple and very reliable. Replicating DSK files on physical media is pure bliss with the USIfAC.


I sincerely thank Ikonsgr for this achievement and the sharing he makes of this creation and the way to makes it accessible.

It's a MUST HAVE absolutely.

ikonsgr

Thanks biishop, frankly, comments like yours give me the greatest joy and satisfaction for my small contribution to Amstrad CPC community!  :)
Btw, today we reached 50 boards sold (42 assembled boards and 8 DIY kits), to ~40 different people!

ikonsgr

I've just upload the hole project to my blog (it also contains many of my designs i made over the years, for Amstrad CPC and other home micros), so, from now on, anyone can easily have access to it!
You can also find a small presentation on youtube here


ikonsgr

I've tested another ~20 games with direct load, we reach 150+ in total!

LambdaMikel

#154
Quote from: ikonsgr on 20:57, 05 July 19
Here it is.
From now on, i will flash all new boards with this version,  and i'll upload the hex file to the "official" link too!  ;)

Thanks for the firmware update! I just reprogrammed my USIfACs with this new firmware. So this should have the 31.250 BAUDs required for MIDI, right?

Finally found the time to do something with USIfAC and successfully transmitted 2 games.  Using a standard USB FTDI cable - it works great!


Now, I am in a position to start working on the MIDI IN experiment. I have the MIDI IN code working with LambdaSpeak 3 Serial Interface (see Polyphonous MIDI IN CPC Synthesizer Video there), and will try to get that code running with USIfAC.


The only concern I have is that the USB port is actually (attempting to) powering the whole CPC... so I need to make sure to first turn on the CPC before plugging in the FTDI USB cable. Of course the USB cannot provide enough power, but it is enough for the Power LED to go on and the CPC trying to boot... 

LambdaMikel



ikonsgr

So it seems that USIfAC  really works as MIDI "bridge" between a synthesizer and an Amstrad CPC! 
As far as i know, this must be the first  application of the Usifac,apart from the utilites i have made!
And LambdaMikel,i suppose it wasn't hard to make it work with USIfAC right? ;)

Btw, i wonder ,what would be the practical usage of such "marriage"? Writing music using a keyboard synthsizer that could be saved in amstrad and then maybe replayed?

Quote from: LambdaMikel on 20:02, 21 August 19


The only concern I have is that the USB port is actually (attempting to) powering the whole CPC... so I need to make sure to first turn on the CPC before plugging in the FTDI USB cable. Of course the USB cannot provide enough power, but it is enough for the Power LED to go on and the CPC trying to boot... 


  Hmmm, maybe if you don't use the 5v pin from Usifac ,the problem will be solved (this is how a usb2serial cable adpater works too,there is no need to connect the 5v pin,i note this in manual too). Unless the small board with the midi connector needs to power from serial interface

LambdaMikel

#158
Quote from: ikonsgr on 15:34, 23 August 19
So it seems that USIfAC  really works as MIDI "bridge" between a synthesizer and an Amstrad CPC! 
As far as i know, this must be the first  application of the Usifac,apart from the utilites i have made!
And LambdaMikel,i suppose it wasn't hard to make it work with USIfAC right? ;)

Btw, i wonder ,what would be the practical usage of such "marriage"? Writing music using a keyboard synthsizer that could be saved in amstrad and then maybe replayed?

  Hmmm, maybe if you don't use the 5v pin from Usifac ,the problem will be solved (this is how a usb2serial cable adpater works too,there is no need to connect the 5v pin,i note this in manual too). Unless the small board with the midi connector needs to power from serial interface
Yes, it was very easy to use and "program" USIfAC, thanks tou your excellent manual!
Understanding the MIDI protocol good enough was the most challenging part, but I had already gone through this with the previous version of this project.

Right, the "power problem" does not appear with the MIDI board, only with the USB cable connection to the PC. Providing VCC from another source or may only connecting GND might solve the problem. Will try. It is not a big problem anyhow, just something to remember - turn on the CPC first, then plug in the USB FTDI cable.

Well, "practical and 8bit computers" is a bit of an oxymoron these days anyhown IMHO  ;) , but yes, it could go into that direction. How about adding a CPC to your rack of MIDI synthesizers - imagine something like this + a CPC  :D
https://upload.wikimedia.org/wikipedia/commons/0/0a/Synth_rack_%40_Choking_Sun_Studio.jpg
I mean, there are people using the C64 + DualSid etc. with MIDI IN as a synthesizer... why not do the same with a CPC and maybe PlayCity and LS3. Obviously, a capable MIDI CPC Synthesizer program needs to be written or adapted first. Maybe I'll work a bit on this by extending what I already have.

GUNHED

Well, I'm not a musician, but just imaging to use a keyboard to play on PSG + LambdaSpeak III + PlayCity - just awesome, endless possibilities.  :) :) :)
http://futureos.de --> Get the revolutionary FutureOS (Update: 2022.03.09)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

ikonsgr

A few more direct load games added, and reduce price for assembled board to... 8euros

Targhan

I think I may have fried my card, but I'm not sure.
As I always do, I plugged everything without reading the manual (because I think I'm sooooo clever), and plugged the 4 pins of the USB adapter, INCLUDING the +5V, which, I learned later, must NOT be plugged.

I first started playing with hardware in Basic, reading the control port and receiving only 255, meaning that a byte was available (and the byte is always 255).
Then I read the manual, disconnected the +5V, but the result was the same.

The reset and pause buttons work fine, so I guess the hardware is not so fried??

Also, Windows 10 recognize the COM port, but names it "PL2303HXA PHASED OUT SINCE 2012, PLEASE CONTACT YOUR SUPPLIER."!
The COM port is in the dropdown box of the Windows software provided with the USIfAC, but when clicking on "connect", a pop-up shown with the message "Serial interface exception".

Am I doomed to order a new hardware?
Targhan/Arkos

Arkos Tracker 2.0.1 now released! - Follow the news on Twitter!
Disark - A cross-platform Z80 disassembler/source converter
FDC Tool 1.1 - Read Amsdos files without the system

Imperial Mahjong
Orion Prime

Targhan

OK, false alarm!! It **kindof works**.

I switched to another USB port, and it worked right away, W10 detected a "Prolific USB-to-Serial Comm port" and it worked great!
But then, I unplugged the USB port, plugged it on another USB port, and now the driver is always "PL2303HXA PHASED OUT SINCE 2012. PLEASE CONTACT YOU SUPPLIER.", even when I switch to the USB port that was working previously.

I'll try to find a driver somewhere... unless someone here has a solution.
Targhan/Arkos

Arkos Tracker 2.0.1 now released! - Follow the news on Twitter!
Disark - A cross-platform Z80 disassembler/source converter
FDC Tool 1.1 - Read Amsdos files without the system

Imperial Mahjong
Orion Prime

Targhan

So, the interface seems to work very fine, but I have this driver problem, I have to disable the "PL2303HXA PHASED OUT SINCE 2012, PLEASE CONTACT YOUR SUPPLIER." driver, then enable it again, and *sometimes* if it well recognized as "Prolific USB-to-Serial Comm port".

I made a search and downloaded drivers from here, but it doesn't change anything. Anyone with the same problem as I?
Targhan/Arkos

Arkos Tracker 2.0.1 now released! - Follow the news on Twitter!
Disark - A cross-platform Z80 disassembler/source converter
FDC Tool 1.1 - Read Amsdos files without the system

Imperial Mahjong
Orion Prime

Targhan

Ok, it seems to work not so bad. I did exactly what was shown
here. It works, but when unplugging/plugging, W10 sometimes chooses the wrong driver and I have to go back to Device > Properties and select the right one by myself, like explained in the video. A bit of a pain!
Targhan/Arkos

Arkos Tracker 2.0.1 now released! - Follow the news on Twitter!
Disark - A cross-platform Z80 disassembler/source converter
FDC Tool 1.1 - Read Amsdos files without the system

Imperial Mahjong
Orion Prime

Bryce

Have you tried de-installing the incorrect driver completely and removing it from the registry?

Bryce.

Targhan

I tried, without real success yet. But there's probably no need because, as always, everything is perfect on Linux :).
Targhan/Arkos

Arkos Tracker 2.0.1 now released! - Follow the news on Twitter!
Disark - A cross-platform Z80 disassembler/source converter
FDC Tool 1.1 - Read Amsdos files without the system

Imperial Mahjong
Orion Prime

LambdaMikel

With W10, it really depends on the quality of the FTDI cable... super cheap is usually crap. I have three or four of these, and only two of them really work reliably. The good ones need no driver at all - or for whatever reason, my Windows already knew them   ;D

pelrun

PL2303 cables work perfectly under W10, but you have to use the driver from 2008. All the later driver versions deliberately broke things  :picard2:

HAL6128

Quote from: LambdaMikel on 19:00, 18 October 19
With W10, it really depends on the quality of the FTDI cable... super cheap is usually crap. I have three or four of these, and only two of them really work reliably. The good ones need no driver at all - or for whatever reason, my Windows already knew them   ;D
...yeah, I had the same experiences...
...proudly supported Schnapps Demo, Pentomino and NQ-Music-Disc with GFX

Targhan

The Windows driver now seems recognized well every time. Everything is working very fine. Great interface!
Targhan/Arkos

Arkos Tracker 2.0.1 now released! - Follow the news on Twitter!
Disark - A cross-platform Z80 disassembler/source converter
FDC Tool 1.1 - Read Amsdos files without the system

Imperial Mahjong
Orion Prime

TotO

Are the ports ($FBDx) compatible with the Amstrad Serial Interface?
No. Sorry.  ;D
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

SkulleateR

Quote from: LambdaMikel on 17:18, 03 July 19
Anybody tried any UART modules with USIFAC by now, such as Catalex MP3 player, or FM Radio module, or MIDI UART board?
I had ordered 2 FM modules a while ago but there are still on the ship from China.


I just tried to connect the Mini DFPlayer (MP3) to the USIfaC but I'm not quite sure which commands to send to get it played ...  ???

ikonsgr

As far as USIfAC is concerned, you can read the manual. In 2 words, it's reather easy and straight forward to send a byte by just giving: OUT &fbd0,X (X:0-255)
To get a byte, give: 
if INP(&FBD1)=255 then a=INP(&FBD0)
Now variable a has the received byte.

SkulleateR

Quote from: ikonsgr on 21:05, 27 December 19
As far as USIfAC is concerned, you can read the manual. In 2 words, it's reather easy and straight forward to send a byte by just giving: OUT &fbd0,X (X:0-255)
To get a byte, give: 
if INP(&FBD1)=255 then a=INP(&FBD0)
Now variable a has the received byte.
Yes, I´m aware of that  ;)


Problem is, that the DFPlayer needs to get some initial routine on UART to get a mp3 played, and I don't seem to get that right  :-[

Powered by SMFPacks Menu Editor Mod