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 1 Guest are viewing this topic.

260Z

Howdy @ikonsgr and all  :)


Received my Serial Interface today , and I'm absolutely loving it. Fantastic piece of hardware.


Before I discuss a couple of quirks , I'll fully disclose the setup I'm running , just in case it's somehow relevant. Plus anyone else running this setup, or similar, should be confident that this will run on their system.


464 -> MotherX4 Board + @revaldinho memory expansion 512kb + USIFAC -> Rombo Redux Deluxe board ( numerous roms ) -> DDi-1 with Parados Rom -> x2 FD-1 Drives


Firstly , Direct Load and PC2CPC works perfectly. But the Dsk2Disk utility , I'm assuming this has been programmed for Basic 1.1??? . As line 1015 CLEAR INPUT , upset my lowly 464...lol.  All good though as I simply deleted this line and it appeared to function perfectly.

Edit : Just realised the impact of removing CLEAR INPUT. Will look into the 1.0 equivalent.

Secondly , but much more sadly :( , the windows application refused to recognise the R-Type 128k DSK , saying it wasn't AMSDOS compatible. This is only an assumption , as I don't know for certain , but I'm assuming that R-Type is designed for Parados Formats ?? . If this is the case , is it possible to have support for Parados Formatted disks included ??


The final point is trivial really , as I could probably program this myself into the BAS flle , but an option to select the destination drive ( A or B ) in DSK2DISK and PC2CPC would be nice :)

But otherwise I'm loving what you've done here @ikonsgr . I can write files directly to my disk drives from my PC  :D


Between you, @revaldinho and @The Equalizor its been a good couple of weeks  ;D


Cheers,
Rob

ikonsgr

Wow, that's fantastic, so direct load is working on 464 after all!  :D
About the "clear input" problem you mentioned, try it to replace it with: CALL &BB03 ,this is the reset keyboard routine that also flushes keybaord buffer (maybe i'll include it in the assembly program so there will be no need for this in BASIC program at all).
About rtype 128, i checked it, and it seems that the 3" version (which contains two dsk images of 180k) contains some tracks with 10sectors which is why you get the "non amsdos" error (normal tracks have 9 sectors).
BUT, i've already developed a  more versatile version of dsk2disk, which supports many non standard images with variable sectors/track, variable gap#3 length, variable sector sizes, and even more than 40 tracks!. With that, you will be able to write almost all dsk images, except some copy protected games with strange "weak sectors" locks, but fortunately i think all of these games can be found in unprotected dsk versions too! ;) (btw i've just used this new version to transfer the rtype 128 to a 3.5" disk and worked perfect!  ;D )

I'm also in a process of completely redesigning the Wifi functionality in order to avoid the need of giving AT commands all the time, and instead, have a direct WiFi communication like in serial/bluetooth mode (passthrough mode/transparent transmission). Unfortunately this requires a completely different connection model ,where TCP server will be on the PC and wifi module will be connected to it (the opposite of how is currently working), so it might need some time to finish it.


260Z

Quote from: ikonsgr on 18:43, 21 June 19
......
BUT, i've already developed a  more versatile version of dsk2disk, which supports many non standard images with variable sectors/track, variable gap#3 length, variable sector sizes, and even more than 40 tracks!. With that, you will be able to write almost all dsk images, except some copy protected games with strange "weak sectors" locks, but fortunately i think all of these games can be found in unprotected dsk versions too! ;) (btw i've just used this new version to transfer the rtype 128 to a 3.5" disk and worked perfect!  ;D )
....


You're a bloody legend mate....  ;D


Just having my morning coffee, thinking about what I'll be doing with my day..... Giving this a test run is number one on my list now  :D

Edit : I see the new version isn't uploaded yet, all good :)

Cheers,
Rob

chrisgreen

Just a quick note to say thanks to @ikonsgr - got my serial interfaces today - extremely happy with them.
Looking forward to having a good play with them over the weekend and getting my machines talking to each other, as well as to my PC.

LambdaMikel

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.

ikonsgr

Finally, a new MAJOR update is available:

- Complete redesign of the WiFi functionality! Now PC program runs the TCP server,enabling a direct passthrough communication which makes Wifi usage much more stable and easy to implement.
- ALL functions (except direct load) can now be used with WiFi modules too! (previous version didn't support dsk image transfer with wifi modules and CPC to PC file transfer was a bit buggy too)
- Image transfer utility now supports many "non standard" images, with variable sectors/tracks, variable gap#3 length, variable sector sizes!
- Add a new small program (setservr) for easily configure WiFi module to act as TCP server, for creating Amstrad CPC WAN/LAN networks!
- Added ~20 new games (115 games in total), in the certified "direct load" game list.
- Update of the user's manual, add much more detail infomration on configure and  usage of WiFi modules!

You can find all updates here (or in the same link on the first page)

260Z

Great work!!. You've made my year.... Finally, I can run the Batman Demo on my 464  :D


The demo also works flawlessly, on floppy disc, from beginning to end. Very pleased.
EDIT : Excluding that final clown image, that upsets my vga converter.


Keep up the good work  :D


Cheers,
Rob

Fabrizio Radica

Quote from: LambdaMikel on 15: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.
mmh... i'm really interested in MIDI UART Board...
post news when you had received (and use) it :)

I've USIfAC but i don't know how use it pratically.

ikonsgr

Quote from: Fabrizio Radica on 13:22, 05 July 19
mmh... i'm really interested in MIDI UART Board...
post news when you had received (and use) it :)

I've USIfAC but i don't know how use it pratically.

I think this might help!  ;)

LambdaMikel

#134
Quote from: ikonsgr on 17:27, 05 July 19
I think this might help!  ;)


@ikonsgr unless you add the MIDI BAUD rate 31250 to the firmware, it won't do MIDI.
I just figured that out with LambdaSpeak 3 Serial Interface - had to change the firmware to support 31250 for that. 
I guess the PIC can do 31250?


THat might be helpful to figure out the settings for UART config registers:
http://www.barrysoft.it/blog/midi-with-pic-ausart.html

ikonsgr

Quote from: LambdaMikel on 17:51, 05 July 19

@ikonsgr unless you add the MIDI BAUD rate 31250 to the firmware, it won't do MIDI.
I just figured that out with LambdaSpeak 3 Serial Interface - had to change the firmware to support 31250 for that. 
I guess the PIC can do 31250?

Never tried that specific baud rate, but most probable it can. It's very easy to add this speed to the code and selecting it ,by a simple, let's say: OUT &FBD1,20
Of course, you will need to reflash the pic with the new program.

LambdaMikel

#136
Quote from: ikonsgr on 17:55, 05 July 19
Never tried that specific baud rate, but most probable it can. It's very easy to add this speed to the code and selecting it ,by a simple, let's say: OUT &FBD1,20
Of course, you will need to reflash the pic with the new program.


That means the MIDI BAUD rate is already supported by USIFAC? Then it should work out of the box!

EDIT: oh, OK, I need to reflash it... I see.

I guess I was suggesting for you to change the firmware such that customers can use MIDI BAUD rate out of the box.  ;)  Just an idea, you are welcome  ;D

ikonsgr

Quote from: LambdaMikel on 17:58, 05 July 19

That means the MIDI BAUD rate is already supported by USIFAC? Then it should work out of the box!


EDIT: oh, OK, I need to reflash it... I see.


I guess I was suggesting for you to change the firmware such that customers can use MIDI BAUD rate out of the box.  ;)
Of course i can (i have already 10 different speeds supported, where you can select them "on the fly" by giving simple OUT &FBD1,x commands), but for all of you who have already a usifac, you will need to re-program the pic (or send you another PIC with the new program  ::) )

LambdaMikel

#138
Quote from: ikonsgr on 18:03, 05 July 19
Of course i can (i have already 10 different speeds supported, where you can select them "on the fly" by giving simple OUT &FBD1,x commands), but for all of you who have already a usifac, you will need to re-program the pic (or send you another PIC with the new program  ::) )


I understand that. I was just bringing to your attention that you need the baud rate 31250 for MIDI to work; I saw in the  USIFAC manual and  menus that it is not there yet. I didn't know that until I tried that with LS 3 serial interface, so I wanted to share that information with you such that you can provide a more useful product to customers.


AGain, you are welcome!


No need for a new PIC for my 2, I can do it myself. Thanks for offering to send new PICs.

ikonsgr

Done! The speed of 31250 can be selected by giving a simple OUT &FBD1,20
You want me to send you the new hex and give it a try?  ;D

LambdaMikel

Quote from: ikonsgr on 18:36, 05 July 19
Done! The speed of 31250 can be selected by giving a simple OUT &FBD1,20
You want me to send you the new hex and give it a try?  ;D


Sure! Thank you, super fast service!

ikonsgr

Quote from: LambdaMikel on 18:45, 05 July 19

Sure! Thank you, super fast service!

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!  ;)

ikonsgr

Btw, anyone with another "special speed" request? I can add as many custom speeds as you like!  :)

Btw,i just noticed that 31250 is a speed that uart interface can match EXACTLY, all other speeds are having some small errors (usually less than 1%)in actual speed, maybe that's why it's selected for the MIDI in order to have absolute synchronization?  ::)

ikonsgr


LambdaMikel

Thanks for the link!
USB MIDI is cool, but most of my synths are old style and have MIDI DIN (I have a USB -> DIN MIDI converter box though).

So I like this one, which is as minimal as it gets:
https://ubld.it/products/midi-breakout-board/
Unfortunately, it is no longer available on Amazon, but you can get it here:
https://www.tindie.com/products/ubldit/midi-breakout-board/?_ga=2.246732166.343271136.1562550881-1119099813.1562130274

I mean, the Arduino MIDI shields also work, but they are too bulky really. 

GUNHED

Quote from: ikonsgr on 19:05, 05 July 19
Btw, anyone with another "special speed" request? I can add as many custom speeds as you like!  :)


Great for future developments.  :) :) :)
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: LambdaMikel on 02:55, 08 July 19
Thanks for the link!
USB MIDI is cool, but most of my synths are old style and have MIDI DIN (I have a USB -> DIN MIDI converter box though).
So I like this one, which is as minimal as it gets:
https://ubld.it/products/midi-breakout-board/
Unfortunately, it is no longer available on Amazon, but you can get it here:
https://www.tindie.com/products/ubldit/midi-breakout-board/?_ga=2.246732166.343271136.1562550881-1119099813.1562130274
I mean, the Arduino MIDI shields also work, but they are too bulky really.

That's very nice! So,by getting this MIdi adapter and connect it to usifac, you will be able to use amstrad with a synthesizer, right?
Of course you will need some software too for this,in the end everything goes down to send and receive bytes, which can be very easily done (either in BASIC or assembly) with simple inp and out commands, you think you will be able to develop the program for this?

LambdaMikel

That's exactly right, @ikonsgr
But I am afraid I'll try it on LambdaSpeak 3 Serial Interface first; when that works well, I'll port the MIDI CPC software to USIfAC, but that is the plan, yes!

ikonsgr

Now, Enough of the utilities!   :)

I've just upload a variant of  the classic pong game (along with ~dozen of more games, tested with direct load, 130+ games in total), which utilizes the serial interface!
I've named it "pong-lan" and it's a 2 player game, only that... each player is playing in its own amstrad cpc!
It's a simple basic game which you can find here, you can run/load it directly using the direct load function. Note that using Wifi modules, it's possible to play it through internet, and with a couple of modifications i even tried it  with... an "old friend", a Commodore 64!!!   :o
Maybe the first network inter-8bit-computer game???  :D

LambdaMikel


Powered by SMFPacks Menu Editor Mod