News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu

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

Started by ikonsgr, 19:20, 05 January 19

Previous topic - Next topic

0 Members and 3 Guests are viewing this topic.

LambdaMikel

Have a look at the


https://github.com/lambdamikel/LambdaSpeak3/blob/master/cpc/lambda/LS300.dsk

MP3 basic demo program.

Of course, this doesn't work with USIfAC serial interface (it was written for LambdaSpeak 3), but you can see what bytes to send over the serial port in order to control the MP3 module.

SkulleateR


secmast

I have bought a RS232 to TTL Serial Port Converter Module DB9 Connector MAX3232 Serial Module.
Can I power this device from the USIfAC directly or should I power it from an external power supply ?
In the case of external power supply is the ground should be "comon" ????


Thanks

ikonsgr

Any device connected to Usifac that needs 5v power supply, can be powered using the '+' pin of the 4pin uart port. This actually uses amstrad's 5v supply.
BUT, when you use a direct usb2serial adapter (which takes power from usb port), you must NOT connect 5v supply pin, ONLY tx,rx and ground is needed.

secmast


secmast

Hi,


I've done a small RS232 terminal program in assembly supporting extended ASCII characters in Latin-1252.
This is very simple to use it, launch the program, choose the desire speed and you ready to go.
There is no Log/Buffer in place yet, but at least you can connect to any RS232 device up to 115200bps.

TotO

The best standard serial communication interface for CPC !  8)
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

ikonsgr

[UPDATE]
- Bug fix: Amstrad resetting when trying to copy ASCII files from CPC to PC.
- Add
Star Sabre to "direct load" game list. This is one of the best horizontal scrolling shootem up games, so i thought it desreved a special notice  :)

You can downalod and try the new version from the usual place

nicf82

Hi

I just received my USIfAC and (thanks ikonsgr!) - trying to run the terminal.bas program on my 464 to do some experimenting, but I'm running into a problem as its failing on line 500 with the 'CLEAR INPUT' command - I have tried the program on Winape emulating a 6128 and it seems to work fine. I'm guessing this is a command from BASIC 1.1??? Is there something I can change it to to get it to work or another fix?
Cheers!Nic

pelrun


nicf82

Thanks pelrun that's a really handy link, I'll give that a go  :)

nicf82

Quote from: secmast on 10:40, 16 January 20
Hi,


I've done a small RS232 terminal program in assembly supporting extended ASCII characters in Latin-1252.
This is very simple to use it, launch the program, choose the desire speed and you ready to go.
There is no Log/Buffer in place yet, but at least you can connect to any RS232 device up to 115200bps.
secmast your terminal program is brilliant, it worked perfectly to communicate with minicom on linux!

nicf82

Is there any software available that will allow me to connect using the USIfAC + ESP01 to a telnet BBS? Or a combination of utilities? Not sure what the best compatible VT100 terminal would be to run on 464 either?
Cheers!Nic

nicf82

Hi


So I found the 'ewen-term' program hosted on the CPCWiki software page with source code, and have managed to (eventually) modify it to work with the USIfAC! I had to figure out how to build it but turns out that it needs MAXAM 1.5 and Protext which I installed as ROMs on WinApe - I really need to get my M4 card to be able to use the ROMs on the CPC and do my development on there but there is a long waiting list.


I presume ewen-term it was originally written for the Pace interface? It'll now connect to a linux box and work as a terminal emulator. I also had to add some code to handle the cursor keys correctly but seems to be working ok now. I can even use telnet on the linux box to connect to a BBS on the old 464.


I think the next thing to do on the project will be to make it so that the terminal software can use a combo of the USIfAC and an esp8266 to connect directly to a BBS.








GUNHED

http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

ikonsgr

Quote from: nicf82 on 16:35, 18 June 20
I think the next thing to do on the project will be to make it so that the terminal software can use a combo of the USIfAC and an esp8266 to connect directly to a BBS.

Esp8266 is a very powerful tool, you can do a lot of things using plain AT commands, from connecting to access points, routers or tcp servers up to create access points or tcp servers and have other Amstrads or pc's connect to! You can check usifac's user manual for more details.

shifters74

Hi all,
i followed this project for a BBC but can be used with any serial capable machine: https://stardot.org.uk/forums/viewtopic.php?f=3&t=15076

i modified the code and interfaced an lcd screen and a rotary encoder to allow me to set and select sites, baud rate etc etc on the device itself.

I have it working with a BBC B/Master, Amiga and Atari ST but see no reason why it will not work with other machines with a serial interface and suitable software on the host site.


I have not got around to test with the USIfAC yet but it will probably work fine (both with the unmodified code from the above link and my own custom code).


cheers
shifters

genesis8

I seem to remember the question was asked for the interest of MIDI out, I am.


Is it already possible ? Or does it need hardware/software done before ?


As I have since some months ago a Roland expander SC-55st which I use either with an Amstrad PPC640 (via serial port, tested on youtube) or my current PC (via USB to midi interface), it would be nice to be able to use it with a CPC.


I know I dream too much, but a game using MIDI would have nice sound and I suppose/hope less time machine needed if it can be buffered by the interface ?
____________
Amstrad news site at Genesis8 Amstrad Page

nicf82

Quote from: shifters74 on 09:05, 22 June 20
Hi all,
i followed this project for a BBC but can be used with any serial capable machine: https://stardot.org.uk/forums/viewtopic.php?f=3&t=15076


Thanks for pointing that project out Shifters, that looks like it will make my life a lot easier as the standard AT commands on the ESP8266 are a little bit more cumbersome than that looks. I cant seem to find a way to get it into a mode that is just a simple tx/rx to the telnet server. By default you need to prefix transmissions with a header containing number of bytes to send and it likes to reply with a header displaying the number of bytes to receive, which is just not something I need for this application. I can understand for a transactional protocol like HTTP but as this is just a telnet connection this will be a much better fit.
Now to figure out how to program the think with Arduino IDE...

Cheers!

Nic

VintageAdvantage

#194
Quote from: genesis8 on 14:52, 22 June 20
I seem to remember the question was asked for the interest of MIDI out, I am.


Is it already possible ? Or does it need hardware/software done before ?
Both done. MIDI out and in with USIfAC.

https://www.youtube.com/results?search_query=usifac+midi


https://youtu.be/960FIh6B_3g

https://youtu.be/MVEXi7fGHyc?list=TLPQMjIwNjIwMjA9NKLRSPF-uA




VintageAdvantage

Quote from: nicf82 on 18:51, 22 June 20
ESP8266
Honestly, if you have / add an ESP 8266 to the mix, then there is no need for USIfAC any more... the ESP8266 can do all of this on its own. The USIfAC PIC is more of a burden than a help to the ESP  ;)

nicf82

Quote from: VintageAdvantage on 19:33, 22 June 20
Honestly, if you have / add an ESP 8266 to the mix, then there is no need for USIfAC any more... the ESP8266 can do all of this on its own. The USIfAC PIC is more of a burden than a help to the ESP  ;)

That is interesting! Do you know where i can find an example of how to hook up an ESP8266 directly to the CPC? I guess I'd need to learn how the IN/OUT addressing works on the CPC bus and also have some custom firmware on the 8266 for it to work. The ESP8266s I have are tiny things on a board with 4 pins exposed as VCC/GND/TC/RX but I do have a couple of ESP32 breakout boards which might be better for that.

Cheers!

Nic

VintageAdvantage

Quote from: nicf82 on 21:07, 22 June 20
The ESP8266s I have are tiny things on a board with 4 pins exposed as VCC/GND/TC/RX but I do have a couple of ESP32 breakout boards which might be better for that.
Sorry I meant the bigger brother, the ESP32. Indeed, just a ESP8266 will not have enough GPIO to do address decoding.

ikonsgr

Quote from: nicf82 on 18:51, 22 June 20
Thanks for pointing that project out Shifters, that looks like it will make my life a lot easier as the standard AT commands on the ESP8266 are a little bit more cumbersome than that looks. I cant seem to find a way to get it into a mode that is just a simple tx/rx to the telnet server. By default you need to prefix transmissions with a header containing number of bytes to send and it likes to reply with a header displaying the number of bytes to receive, which is just not something I need for this application. I can understand for a transactional protocol like HTTP but as this is just a telnet connection this will be a much better fit.
Now to figure out how to program the think with Arduino IDE...
Cheers!
Nic
I had exactly the same problem when i first involved with esp8266, it seems there was a need to encapsulate each data packet in order to send and "peel off" the encapsulation to get data.  But after a bit of study, it seems there is a way you can send/receive bytes directly without needing "encapsualtion" (quoting from Usifac manual):
AT+CIPMODE= 0 or 1 Sets Transmission Mode
0: normal transmission mode (must be used when WiFi acts as a TCP server)
1: UART-Wi-Fi passthrough mode (transparent transmission), this mode is used for communication with the PC utility program. It can only be enabled in TCP
single connection mode Notes:
• The configuration changes will NOT be saved in flash.
• During the UART-Wi-Fi passthrough transmission, if the TCP connection breaks, ESP8266 will keep trying to reconnect until "+++" is input to exit the transmission. If it is a normal TCP transmission and the TCP connection breaks, ESP8266 will give a prompt and will not attempt to reconnect.
AT+CIPSEND Start sending data in transparent transmission mode.
Data must be sent with a 20-ms interval between each packet, and a maximum of
2048 bytes per packet.
To disable transparent transmission mode, a single packet containing ,,+++‟ must be received, (in practice, you must give: out &fbd0,43:out &fbd0,43:out &fbd0,43) ESP8266 returns to normal AT command mode.Wait for at least one second before sending the next AT command.
This command can only be used in transparent transmission mode which requires single
connection. Note also that, you CANT give AT commands when transparent transmission mode is activated.


For more details you can look at the complete esp8266 manual

ikonsgr

Quote from: VintageAdvantage on 19:33, 22 June 20
Honestly, if you have / add an ESP 8266 to the mix, then there is no need for USIfAC any more... the ESP8266 can do all of this on its own. The USIfAC PIC is more of a burden than a help to the ESP  ;)

Well, what about this then: https://www.dropbox.com/s/jaxq36tblkrnavz/DSCN1284.AVI?dl=0
Load ~70kb game in 3.7seconds e.g. ~20kb/sec transfer rate :o  (and NO, it's not loading  from EEPROM  ;D )
A small teaser of the new Usifac i'm working on....  ;)

Powered by SMFPacks Menu Editor Mod