USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!

Started by ikonsgr, 08:17, 01 December 20

Previous topic - Next topic

0 Members and 3 Guests are viewing this topic.

ikonsgr

Quote from: Fran123 on 19:27, 18 March 21
Hello
First of all, congratulations about your work. I'm sure you have learnt a lot developing it.
I've spent more than 1000 hours in the last 15 months on this project, so i think that i've learn one or two things in the process... :D

Quote from: Fran123 on 19:27, 18 March 21
I have seen there is a 4-pin slot for wifi module.  Does it mean that we can connect an ESP-01 and connect to a wifi?  Are there commands to configure wifi and download files from web?
Yes, there is an RSX command |WIFI, for easy configuring the module (set serial speed, connect to access point and then to a tcp server) in order to connect to a PC that runs the windows utility i've also developed, (which activates a small TCP server where the esp module connects as client). There is also |COM command, a small terminal specifically designed for comunicating with wifi modules through AT commands.You can find more details in USER'S GUIDE available at the 1st post.

Quote from: Fran123 on 19:27, 18 March 21
How easy is it to update it with new firmware?
Check the 1st post on this thread at "update firmware" section.

Fran123

I think  a rsx command like |wget (for example) is indispensable, downloading a file from web with AT commands is very tedious.


I don't know how difficult was replace one of the ROMS using the same method of firmware update.  (I don't know if I mean well)


And last doubt: Can you use |CPM too after |mg,"cpm22.dsk" (for example) ?



I'll get one soon.

ikonsgr

Actually the utility i've developed for windows PC, take it FAR more than just ..."downloading" a file. After you connect to the TCP server (which activated automatically when you run the windows utility) ,using the wifi module connected on USIfAC II, you can actually RUN "on the fly" games ,directly through internet! You can also access dsk images, transfer dsk files from your pc, direclty to your Amstrad 3" or 3.5" drive, and of course copy  files between your PC and Amstrad! And all these functions are controlled from Amstrad using RSX commands!
For more details, please check USER'S MANUAL on "windows communication utility" section.

p.s. you can perfectly use images of cp/m disks too,i've already test a few games that used CPM to load (by giving "|CPM" at basic prompt) and worked just fine!  :)

ikonsgr

MAJOR UPDATE!

New board design, with an amazing new feature: Access multiple Dsk images "on the fly" and be able to run ALL multi-image Games/demos/utilities!
Along with the pre-existing command |MG that places an image to the default slot 1, some extra RSX commands are added:
- |MG2,"image name"  places "image name" to slot 2
- |MG3,"image name"  places "image name" to slot 3
- |MG4,"image name"  places "image name" to slot 2
Finally with |SMG command you will get a list of all images placed in the 4 different slots,along with the currently selected slot!

The "ring selection" of the dsk image (e.g. every time you press "Dsk_Swap" button, selects the next slot: 1->2->3->4->1 ,of course empty slots are omitted) is made "on the fly" by using an extra small button on the board. I've already test it with a few multi image games like OUTRUN EUROPA (2 images), SAVAGE (2 images), Xyphoes (3 images), TURBO OUT RUN(2 images) and PAWN (2 images).
In most cases, when game needs another image it will give you rolling bars at the border, when you see this, you just press the swap button and the loading continues!  ;)
Soon i will start adding these games on the "Classic and worth to play" list, and also i'm thinking of adding a small Basic loader on each game, which will automatically load all images to slots and run game directly ,so you will not have to do anything by yourself! ;)

[attach=1,msg199600]

shifters74

So is the new board called USIfAC II+ or USIfAC III   :P

Another good job from the ikonsgr group  :laugh:

shifters

Skunkfish

That's awesome, is it possible for me to add this button myself? Which pins do I need to attach it to?  ;D
An expanding array of hardware available at www.cpcstore.co.uk (and issue 4 of CPC Fanzine!)

SkulleateR

@ikonsgr


Got some questions before I order one ...


As you may remember (maybe not) I already purchased Usifac I from you and I use it with my mp3 module .... is it possible to use both ? Or better : is it possible to attach USB Host Module AND mp3 module at the same time ?


If not : is it possible to use Usifac I and II at the same time ???


I guess both answers will be "NO" but hey, have to ask anyway :D

eto


ikonsgr

Quote from: Skunkfish on 19:02, 19 March 21
That's awesome, is it possible for me to add this button myself? Which pins do I need to attach it to?  ;D
Indeed, the only thing you need to do is to add a button and attach one end on a specific pin:
[attach=1]

The other end of the button goes to gnd. If you do that on older boards you can actaully use the new firmware and have the new  feature!  ;)

ikonsgr

Quote from: eto on 19:12, 19 March 21
this means new hardware?
Not exactly, i would say it's more of a small extension to add the new feature. The only difference from older design (apart from the color of board and  bit different placement of parts) is the addition of the small dsk swap button! Of course there is also a new firmware for PIC MCU (hex file) to include the extra RSX commands.
So, if you have an older board version without the dsk swap button, then yes, it would need to have the new board, although it's possible to add this feature on older boards too (see above post)

GUNHED

Is there somebody using USIfAC II with FutureOS and clicked at drive E, F, G or H to see if FDC emulation actually works with the Vortex FDC?
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: SkulleateR on 19:08, 19 March 21
@ikonsgr
Got some questions before I order one ...
As you may remember (maybe not) I already purchased Usifac I from you and I use it with my mp3 module .... is it possible to use both ? Or better : is it possible to attach USB Host Module AND mp3 module at the same time ?
If not : is it possible to use Usifac I and II at the same time ???
I guess both answers will be "NO" but hey, have to ask anyway :D

  Since the usb module is now soldered on board, the 4pin UART port is available to add another device.
So in theory, if connected devices use the same serial speed, you might be able to use both mp3 module along with the usb host module. Of course this would require writing custom software for it, and managing comunication with each module without conflicts or interferences between them, might be tricky...
Btw, you can't use both USIfAC and USIfAC II as they respond to the same ports. On the other hand, USIfAC II is 100% "backward compatible" with previous USIfAC, so any software written for USIfAC should work directly with II too!  :)

GUNHED

Quote from: ikonsgr on 19:59, 19 March 21
So in theory, if connected devices use the same serial speed, you might be able to use both mp3 module along with the usb host module. :)
This should work, because the MP3 module expects its commands embedded in key bytes. Well, that's at least the case with the one I use.  :)
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)

SkulleateR

Quote from: GUNHED on 20:04, 19 March 21
Well, that's at least the case with the one I use.  :)


I also use the Catalex device as your LS does, and since this is just given instructions via some OUT codes in basic, the speed of the serial port shouldn't matter ... guess I´ll give it a try  ;D

ikonsgr

Ok, i've updated the game list with a few multi image games, and also i've add in all games folders, that are in dsk image form (~10 in total), a small Basic loader that sets image(s) to slots, enables floppy controller emulation, and runs the game directly, so you can now run games from dsk images directly!
This also could be a great idea for simplify loading process for any game in dsk image form!
Ιt's very easy to do it by yourself, and it will save you the need to re-place image and re-enable FDC controller emulation for every game!
The procedure is really very simple:
- Go to the folder with the image(s) you want to use (using the known |CD,"dirname" command)
- Get a list of all images by giving: |CAT
Make a small Basic program in the form:

10 |MG,"1st image name"
20 |MG2,"2nd image name" (this is needed if game has 2nd image)
30 |MG3,"2nd image name" (this is needed if game has 3rd image)
40 |MG4,"2nd image name" (this is needed if game has 4th image)
50 |FDC


Then you just save the above basic program into current game's directory by giving: save"name.bas"
From now on,every time you want to play the game,you just run the above basic program and then, directly give CAT and RUN to load it, without needing to retype all the above commands!  ;)
Finally, if you want to take it a bit further with "automation" of the loading process, you can also include the RUN command into the Basic listing.
For this, after running the above program and give a CAT command (that will give you the contents of the image placed in the 1st slot), you just give:
- |FDC to disable FDC emulation,
- |EN,
And then add a Basic line at the bottom of the listing:
60 RUN"(Name of game loader inside Dsk image)"
Save the program, and you are Ready!
Now, next time you want to load the game,you will run this small basic program you just saved, and it will automatically run the game!  ;)

GUNHED

Quote from: SkulleateR on 20:36, 19 March 21

I also use the Catalex device as your LS does, and since this is just given instructions via some OUT codes in basic, the speed of the serial port shouldn't matter ... guess I´ll give it a try  ;D


IIRC, the speed was 9600 Baud, but see their doc (well, it's not complete I'm afraid).


No reason not to work with the USIfAC.
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)

SkulleateR

Quote from: GUNHED on 22:29, 20 March 21

IIRC, the speed was 9600 Baud, but see their doc (well, it's not complete I'm afraid).


No reason not to work with the USIfAC.
I know it works with USifAC I ... so it should with II  ;D


The big question is, does it work side by side with the USB Host Module ... guess I'll find out when package arrives ;) :D

Audronic

@ikonsgr

Hi John

I have a small concern.
I am using the 2nd generation board.
I am using a CPC464.
I have just updated to Version 2c which works well no Problems
As I have a few spare 18f47q10s I flashed an other with 2D
The concerns are, Unable to intermittently enable the USB (The light comes on)
But I am unable to restart the USB, Power off for 20 seconds power up again then it MAY enable the USB

Can you help

I have gone back to Version 2C.

Keep Safe

Ray
Procrastinators Unite,
If it Ain't Broke PLEASE Don't Fix it.
I keep telling you I am Not Pedantic.
As I Live " Down Under " I Take my Gravity Tablets and Wear my Magnetic Boots to Keep me from Falling off.

ikonsgr

 Well,i haven't noticed something like that with my tests on CPC464 and _2d firmware. After some more thorough tests,the only "bug" i discover is that sometimes you get a "bad command" at initial screen after reset (and it might shown when executing some rsx commands) but this doesn't seem to affect the operation of the board, everything seems to works fine despite this msg.
So, if you are using the same board+usb host module with the same usb stick and you just changed the PIC CHIP with another flashed with _2d firmware, this would be really very strange...
BUT, what i have discovered from my experience so far, is that one VERY "sensitive" matter is the good contact of the edge connector to the expansion port of Amstrad!
I remember some time ago, i wanted to test some boards, and suddenly i began to have very strange behaviors, for example, hung-ups out of the blue, delayed respond on execution of RSX commands,and the most strange of all: direct file loading worked fine, but i got problems when accessing dsk images (something that is completely insane,either both loading methods should work or both methods should NOT work...)! ???
In the end,i discover that the ribbon cable i was using (obviously from the 100's plug on and offs, as i'm using it for many months now), developed some kind of "contact fatigue", which caused all the problems! When i've changed it with a brand new ribbon cable, all boards worked perfect!  :)
And this "contact" issue goes to EVERYTHING that can be plugged on/off, e.g. usb stick, ribbon cable ,expansion port. And since you've changed the PIC CHIP, even a bad contact between socket and chip legs could cause a problem!

[UPDATE]
After more thorough testing,i've decided to remove the "|USB" automation for CPC 464, as the absenece of Amsdos Rom, seem to cause some bugs to this process (the "bad command" appearence on boot screen, and rare hung-ups when accessing usb stick after initial "cold start" booting of Amstrad).
Both Firmwares are updated on the 1st post (with some extra minor updates for the new "_3" firmware,check 1st post for details), with this change. Note that these affect ONLY cpc464 behavior, there is nothing different for CPC 6128 models. Mind also that you can use the new _3 firmware on older boards too, but the extra RSX commands for using multiple image files, will have no affect as there is no "dsk swap" button present on board.

btw,i test a couple of multi image games on CPC 464, and it seems they work fine too!  ;)

Audronic

@ikonsgr


Ok Thanks for the update information.
I will have a GOOD look at the Expansion (Male) connector.
and if needed I will solder a 50 Pin header socket to the CPC464 ( this is my test computer that I use)
I also had the same error messages.
I will flash the update to 3 ?


Thanks for your quick work


Thanks


Keep Safe


Ray
Procrastinators Unite,
If it Ain't Broke PLEASE Don't Fix it.
I keep telling you I am Not Pedantic.
As I Live " Down Under " I Take my Gravity Tablets and Wear my Magnetic Boots to Keep me from Falling off.

Audronic

@ikonsgr


The fault turned out to be a "Soft" Z80 ? It could not handle the extra load of the USIfAC II
Replaced the Z80 and away it went on the CPC464.


PS:-  all my tests are using xxxx.dsk Images.

I am having Problems with Version 3 at the moment- Will leave more detail Later.

Thanks

Ray
Procrastinators Unite,
If it Ain't Broke PLEASE Don't Fix it.
I keep telling you I am Not Pedantic.
As I Live " Down Under " I Take my Gravity Tablets and Wear my Magnetic Boots to Keep me from Falling off.

kolleykibber

Hi @ikonsgr


I'm enjoying experimenting with the Usifac. Thanks again. What are the chances of a virtual romboard?


GUNHED

A ROM board got nothing to do with a serial interface.
To ask for a ROM board here is like to ask "And how to have a beer with my toaster".
For a virtual ROM board look at the thread of the M4 card.
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)

kolleykibber

Quote from: GUNHED on 15:42, 23 March 21
A ROM board got nothing to do with a serial interface.
To ask for a ROM board here is like to ask "And how to have a beer with my toaster".
For a virtual ROM board look at the thread of the M4 card.


Well this serial interface comes with a FDC emulator, games and utilities and serves up its own rom. So I guess it must do Rom decoding.


So my question is if I can have bacon with my toaster may I have a beer too? :)

ikonsgr

@kolleykibber, well,i don't know if you can call it "rom board", but since the PIC is equipped with 1kb EPROM, i add a few rsx commands to utilize it!
You can load data either from memory or from a binary file directly (|WROM), and then use another rsx command (|LROM) to retrieve the data! You  can also access it in asm code using a simple RST3,&FC00 (on the rom number of USIFAC interface, deafult:5).

Powered by SMFPacks Menu Editor Mod