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

Philippe Lardenois

Hi Friends,
I design a little box with my 3D printer. for those interested....Attached the STL (2 parts and 2 buttons).
inside this archive, 2 Top cover (one for those like me who need a hole for adding a 7cm button  for disk swap / one without)


pictures :

https://ibb.co/ZBcdRs3

https://ibb.co/ftLkZxq



++
Phil






Deevee

Hi, is it possible to copy from and to a .dsk in USB drive and real floppy in FDD please ?
ORIGIN 320,200:FOR r=1 TO 360:PLOT 5*(16*(SIN(r))^3),5*(13*COS(r)-5*COS(2*r)-2*COS(3*r)-COS(4*r)):NEXT

Philippe Lardenois

just one question John.
I noticed on a CPC464, after a disk mount and play, or when you simply do nothing, when you push the Pause button, and reset, screen flashes grey like a bad Z80 Rom. Even if you turn the computer completly off and restart after a few seconds, the same happens until you push the Pause Button again.


When you do a hard reset, the rom of the cart is not reseted ?


Fran123


Hello,


Can you make a pair of drawings where we can watch how we must use esp-07 and esp-01 with Usifac??


Excuse, but my English isn't good and some things I don't understand very well.


Thank you.

Quote from: ikonsgr on 09:50, 27 March 21
There are "5v adapter boards" where you can use esp-01 modules without problems.Also esp-07 can be used directly with 5v supply, i note this in user's manual:
 

I'm using these wifi modules for years (since with 1st USIfAC board) and never had any problems, most probable all the extra circuits that required for esp modules to be "5v tollerant" are on these adapter boards.  :)

GUNHED

Quote from: Philippe Lardenois on 20:20, 27 March 21
just one question John.
I noticed on a CPC464, after a disk mount and play, or when you simply do nothing, when you push the Pause button, and reset, screen flashes grey like a bad Z80 Rom. Even if you turn the computer completly off and restart after a few seconds, the same happens until you push the Pause Button again.


When you do a hard reset, the rom of the cart is not reseted ?


Great, so the pause button works perfectly.
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: WrathOfThePixel on 19:06, 27 March 21
Hi, is it possible to copy from and to a .dsk in USB drive and real floppy in FDD please ?
You can't copy files from a dsk image directly, but you can first copy the entire image to a real disk (using |DSK), and then, use |2PC command,to copy  files containing in the dsk image to the usb device.
Also, you can use |COPY to do the opposite, copy files from usb device to the real disk.

ikonsgr

Quote from: Fran123 on 21:00, 27 March 21
Hello,Can you make a pair of drawings where we can watch how we must use esp-07 and esp-01 with Usifac??
Excuse, but my English isn't good and some things I don't understand very well.Thank you.

Check the user's guide:
https://www.dropbox.com/preview/Amstrad%20serial%20port%20II/Amstrad%20CPC%20Serial%20Interface%20II%20User%20Guide.pdf?role=personal
I have detailed info and instructions regarding setup and use of Wifi modules with USIfAC II!  ;)

Philippe Lardenois

Sorry, I didn't understand GUNHEAD note about my question.
But from what I understand, a hard reset of the CPC doesn't produce a full reset of the USIFAC card...That's it ?


2 others questions/remarks, is there a way to know what version of the eeprom we have before updating IT ? and do you plan a better Emualtion of disks (protected disks or CPM disks for example) ? If you really want to kill our Goteks... :P

[/size][size=78%]Thanks anyway [/size]

Skunkfish

Hi Philippe,

I believe the pause button works by physically pulling Pin 39 (Ready) to ground, thereby stalling the Z80 in the CPC until it is released (pin 39 connects to the /WAIT pin on the Z80).


That's why it's unaffected by resetting the CPC or the USifAC.
An expanding array of hardware available at www.cpcstore.co.uk (and issue 4 of CPC Fanzine!)

ikonsgr

Quote from: Skunkfish on 19:24, 28 March 21Hi Philippe,
I believe the pause button works by physically pulling Pin 39 (Ready) to ground, thereby stalling the Z80 in the CPC until it is released (pin 39 connects to the /WAIT pin on the Z80).
That's why it's unaffected by resetting the CPC or the USifAC.
Exactly that!  ;)

ikonsgr

Quote from: Philippe Lardenois on 17:56, 28 March 21
Sorry, I didn't understand GUNHEAD note about my question.
But from what I understand, a hard reset of the CPC doesn't produce a full reset of the USIFAC card...That's it ?
2 others questions/remarks, is there a way to know what version of the eeprom we have before updating IT ? and do you plan a better Emualtion of disks (protected disks or CPM disks for example) ? If you really want to kill our Goteks... :P
Thanks anyway

Pause switch, just enables the WAIT signal on Z80 CPU, thus Amstrad will wait as long as Switch is enabled.
Reset button on the other hand, is the one that really resets BOTH amstrad & USIfAC board.
About FDC emulation, i'm afraid this is as far as it can goes, but apart from a few hard protected dsk game images (which most certain you can find them in cracked versions ...;D ), everything else seem to work fine! You can access almost any kind of dsk image existed, from usual Amsdos images, up to CP/M disks, PARADOS disks, even spectrum +3 and PCW disks should be readable too!  ;) Mind also that, |DSK command which transferrs an image to a real disk, has almost the same compatibility (as i finally got rid of amsdos routines and use low level custom routines that communicate directly with 765 FDC).
Now i consider USIfAC II a "gotek killer" for amstrad, not so much for offering the "perfect/load everything" compatibility with dsk images that gotek offers (thanks to the extraordinay work of keir freiser, the creator of Flash FLoppy, the firmware that all gotek drives are flashed with), but mostly for EASE of use and easily manage 100's (or even 1000's) of dsk images, especially now with the addition of the Basic loader creator utility, which practically eliminates the need of typing RSX commands!
Just imagine that you have a usb stick with 100's of dsk images in it, and you want to access a specific image using gotek....
Endless pressings of gotek buttons to find the image you want, and even if you have popular addons, like rotary enconders or oled screens , you will still end up turning left-right the enconder (like trying to tune with a radio station  :laugh: ), and continiously struggling to read the image names from the tiny oled screen...  ;D
Same thing using USIfAC is a "piece of cake": just give a filtered |CAT command and you will instantly get the image (or a very small list of images) you want!

BUT, the thing is, that USIfAC II, is not just a "gotek replacement", it is MUCH more than a mere floppy drive emulator:
- It transforms any connected usb device, to a HUGE HDD for Amstrad cpc, where you can load/save/delete files directly (at ~5 times faster than gotek), as change/make/delete directories too!
- It offers many extra functionality, like use of bluetooth/wifi modules, copy files between flopy disks and usb device, copy images to real disks, format disks etc.
- You can use it directly with Amstrad CPC 464 (gotek connects only to 664/6128, for 464 you need to have a rather expensive DDI like interface)
- It costs MUCH less than a gotek drive and extra equipment needed, for external (ribbon cable+power cable) connection or internal (cable adapter+front face) replacement of the 3" drive! Especially if you want to have the extra addons like oled screen+rotary encoder, total cost for a "full Gotek pack" for Amstrad, can be more than 3 times the cost of USIfAC II!

Or, in 2 words... A TRUE GOTEK KILLER FOR AMSTRAD CPC!  :P


GUNHED

Very true! Why should a CPC expansion care about some weird disc formats of other systems?
It's for CPC and that's good that way! Amazing how U2 does evolve every week!
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: ikonsgr on 23:34, 26 March 21
First, usb host module MUST be "off", when using Wifi modules so definitely you DONT enable it using |USB.
Also, mind that wifi modules can draw a lot of current (up to a few 100's mAmps) so they need a decent power supply that can hold at least 4.7-4.8volts on power pins of  USIFAC board.
Now,i would suggest first, to try communicate with module, using a PC terminal and a usb2serial cable, just to see if module is ok. Wifi modules usually have 115200  as default serial speed.
Then try to set USIFAC's serial port speed at 115200 using |SET command and then try |WIFI.
You can also use the small terminal i have,|COM, in order to communicate manually with module by giving AT commands.

Judging from my experience with Wifi modules,i would say that they  are a bit "picky" at boot, you need to let them a few seconds to boot before trying to communicate.
Also, they don't seem to be very reliable either, i have an esp-07 and an esp-01 module that worked perfect a few months ago, but when i try to use them a few days ago, one was not responding at all, and the other, was not able to connect to the TCP server of the windows utility! I even tried to reflash them but with no success....


Turns out my DM-101 ( ESP-07 ESP-8266 ) modules had no firmware on them at all. The flashing process is a bit involved. These modules seem to work only with old firmware.  ESP_8266_BIN0.92.bin (attached) was the one I got working. It's possible that newer firmware will work, but I had no joy. I set up the access point though the usb-ttl and then stuck it in the usifac.


But it's recognised by the usifac now and I can communicate with it through the 464. So all is good :)



ikonsgr

@ kolleykibber Great!  :)
Btw, you could do all the Wifi module setup directly from Amstrad using |WIFI too. The Utility first checks for ESP's serial port speed and ask you if you want to change it, then it asks for Access point name&password, and after it is connected, asks for ip address and port no. of the tcp server to be connected (these are given on the windows utility i made for USIfAC II, but i suppose it could work with any other TCP server you might want to use for  ;) )

ajcasado

Quote from: ikonsgr on 20:30, 28 March 21Pause switch, just enables the WAIT signal on Z80 CPU, thus Amstrad will wait as long as Switch is enabled.
I thought that you cannot maintain *WAIT signal low indefinitely because it prevents the DRAM to be refreshed.
CPC 664

Empiezas a envejecer cuando dejas de aprender.
You start to get old when you stop learning.

Philippe Lardenois

Quote from: ikonsgr on 20:30, 28 March 21
Pause switch, just enables the WAIT signal on Z80 CPU, thus Amstrad will wait as long as Switch is enabled.
Reset button on the other hand, is the one that really resets BOTH amstrad & USIfAC board.
About FDC emulation, i'm afraid this is as far as it can goes, but apart from a few hard protected dsk game images (which most certain you can find them in cracked versions ... ;D ), everything else seem to work fine! You can access almost any kind of dsk image existed, from usual Amsdos images, up to CP/M disks, PARADOS disks, even spectrum +3 and PCW disks should be readable too!  ;) Mind also that, |DSK command which transferrs an image to a real disk, has almost the same compatibility (as i finally got rid of amsdos routines and use low level custom routines that communicate directly with 765 FDC).
Now i consider USIfAC II a "gotek killer" for amstrad, not so much for offering the "perfect/load everything" compatibility with dsk images that gotek offers (thanks to the extraordinay work of keir freiser, the creator of Flash FLoppy, the firmware that all gotek drives are flashed with), but mostly for EASE of use and easily manage 100's (or even 1000's) of dsk images, especially now with the addition of the Basic loader creator utility, which practically eliminates the need of typing RSX commands!
Just imagine that you have a usb stick with 100's of dsk images in it, and you want to access a specific image using gotek....
Endless pressings of gotek buttons to find the image you want, and even if you have popular addons, like rotary enconders or oled screens , you will still end up turning left-right the enconder (like trying to tune with a radio station  :laugh: ), and continiously struggling to read the image names from the tiny oled screen...  ;D
Same thing using USIfAC is a "piece of cake": just give a filtered |CAT command and you will instantly get the image (or a very small list of images) you want!

BUT, the thing is, that USIfAC II, is not just a "gotek replacement", it is MUCH more than a mere floppy drive emulator:
- It transforms any connected usb device, to a HUGE HDD for Amstrad cpc, where you can load/save/delete files directly (at ~5 times faster than gotek), as change/make/delete directories too!
- It offers many extra functionality, like use of bluetooth/wifi modules, copy files between flopy disks and usb device, copy images to real disks, format disks etc.
- You can use it directly with Amstrad CPC 464 (gotek connects only to 664/6128, for 464 you need to have a rather expensive DDI like interface)
- It costs MUCH less than a gotek drive and extra equipment needed, for external (ribbon cable+power cable) connection or internal (cable adapter+front face) replacement of the 3" drive! Especially if you want to have the extra addons like oled screen+rotary encoder, total cost for a "full Gotek pack" for Amstrad, can be more than 3 times the cost of USIfAC II!

Or, in 2 words... A TRUE GOTEK KILLER FOR AMSTRAD CPC!  :P


Hi John, thanks for the clarifications.


Agree with all the things you said. It's a great tool for our 464 especially. Thanks for that, no offense as your tools are always great  :D


You did not answer to the question : how to check the version numer of the program flashed into the PIC ?


cheers.

ikonsgr

Quote from: ajcasado on 10:00, 29 March 21
I thought that you cannot maintain *WAIT signal low indefinitely because it prevents the DRAM to be refreshed.

Well,i think that DRAM refresh is made by 40010 Gate Array Chip, and because this is working even when Z80 is paused, this might explain the fact that you can pause Amstrad without time limit.

ikonsgr

Quote from: Philippe Lardenois on 12:54, 29 March 21
You did not answer to the question : how to check the version numer of the program flashed into the PIC ?

Well, you can't, at least not directly using some command. But there are indirect ways to find out, for example, on CPC 464, if you get multiple resets on "cold start", then you have a newer firmware installed. Also, boards sent after february have the latest firmware too.

Audronic

Hi John


Would it be possible to Put the revision number in the |help text ?


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, it would be  easier to use the |STAT command, i could add a remark with the firmware rev. number (which will be "Hard coded" with each different revision), but of course you will need the new frimware for the board to see it

xyphoes

Hi all, I made some tests using USIfACII for calling a BBS with success ^^

I use TCPSER for emulate a modem and made a Telnet connection, (maybe I will try with a real modem)  => https://github.com/go4retro/tcpser
https://ibb.co/sKkydwW 

BBS => http://amstrad.simulant.uk/

It's fun  ;D   

ikonsgr

A small firmware update (_3a):

- On CPC 464, you can (again  :) ) eliminate giving |USB after Reset, this time i think i made it  work right (no "bad command" messages upon reset any more...)! :D

- Amsdos/Parados Emulation is now saved into PIC's EEPROM, so Board will always "remember" your choice.

- New ability:choose if you want to Return to Usb device Root directory after Reset (until now,board always remembered the directory you were before reset), just give OUT &FBD1,66 to enable or OUT &FBD1,65 to disable. Again, board will "Remember" your choice.
This could be very usefull if you use the BASIC loader listings mentioned above to load  Games/programs, as after RESET, you will automatically return to Root directory (where all the BASIC loader programs are), without needing to give |CDR command!  ;)

- |STAT command now shows Firmware revision and if "return2root directory after Reset" is enabled:

[attach=1,msg200316]

The "Direct Mode 1 Enabled" message on boot screen, is shown when you Reset CPC464 with Usb module enabled, and then, you can directly access usb stick, without giving any extra commands!  ;)
Note also the additions of firmware rev. number and Return2root dir after reset, mentioned above.

Audronic

@ikonsgr


Unfortunately the new Firmware continually reboots ?
This is on a STANDARD CPC464 (No Modifications)


Late Update :- This also happens on a STANDARD CPC6128.

I did not have a chance to do the OUT FBD2,5 ?
The screen shows the USBIfAC II and then reboots.

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.

ikonsgr

 Well, i've tried the new firmware with all 3 Amstrad CPCs i have, two CPC6128 (one with dual amsdos/parados rom and a modern CMOS Z80/20Mhz) and one Schneider CPC464, and in all cases worked fine, so most probable the problem you mention doesn't have to do with firmware.
In most cases, such behavior is more hardware related, than software. For example, there might be connection problems, between Amstrad and USIFAC II board (for example, bad connection of the ribbon cable with the edge connector). Also, there might be some kind of short circuit somewhere that causes these repeated reboots.

Audronic

@ikonsgr


Ok Point taken


I have a second USIfAC II board I will set that up and see what happens.


The 464 has pin headers soldered to the expansion and an appopriate cable.
The 6128 is a standard edge connector and a standard cable.


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.

Powered by SMFPacks Menu Editor Mod