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

Started by ikonsgr, 09:17, 01 December 20

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

WacKEDmaN

well today ive been having some fun with the USIFAC II..seems to be working perfectly at the higher voltage.. 
but just to make sure, i put a fan on the heatsink on the gate array, it seems to be cooling the rest of the chips too!..and the GA seems much happier!

even dropped the voltage a little, from 6.8v to 6.5v today.. 

its nice having serial connection between CPC and PC, direct load is FAST! (faster than DDI5!)..going to setup wifi soon..

ive found a nasty bug in the AmstradUtilityII.exe program... if the serial is connected, and CPC is reboot, the program loses connection and pops up sayng so...but when you close the popup, and go back to the main program, nothing works..i cant even close the program!..i have to end task it in taskmanager... would be nice if that could be sorted please..

ikonsgr

Afaik, absolute maximum voltage ratings for 74LSxx chips is 7volts. Although it's a bit dangerous to work Amstrad on over 6volts, as heat dissipation of the large chips (GA,765FDC,Z80,8255) is raised exponentially with overvoltage. But i suppose if you place heatsinks you can work Amstrad rather safe. Ofcourse as we are talking for a new replica board with new ic's, they should be much more durable to... "stress", than a ~35 years old amstrad  :)
Anyway, i believe that overvoltage seems to counteract the problem of the internal resistance of traces (especially for gnd and 5v supply) noted before.
Now, about the non-respond behavior of the windows utility, this usually happens with wifi connection, unfortunately tcp/ip server is a bit  quirky with connections. But with serial connection, if you don't get a respond, you can just select another function (like terminal) and then reselect direct mode, this usually  resolve the problem. (note that for usb2serial cable adapter, you DONT connect the 5v pin to USIfAC's 4pin uart port, as adapter is powered from usb port)

Btw, i receive the new revised boards for RAM/ROM board, stability and general board behavior improved, so i believe i will have some available pretty soon ;-)

ikonsgr

Quote from: eto on 13:09, 13 July 22I have just realised that there is now a diode but no longer the pull-up resistor. Should I remove the resistor and add the diode? Or does it depend on the firmware, which modification is required? The comments on the previous page are a bit confusing, and I would prefer to have the right modification applied before doing further tests.
Maybe a suggestion: hardware modifications could be documented in the first post, like the firmware updates.
If you have a new firmware (6c,6d) you should use only the diode, in order for the dsk swap button to function correctly. With Boards with older firmware, diode have no effect, but you can try to place the pull up resistor if you have booting problems with USIfAC.

eto

Quote from: ikonsgr on 22:53, 14 July 22If you have a new firmware (6c,6d) you should use only the diode, in order for the dsk swap button to function correctly. With Boards with older firmware, diode have no effect, but you can try to place the pull up resistor if you have booting problems with USIfAC.
So with 6d, I should remove the resistor and add the diode?

ikonsgr

Quote from: eto on 23:04, 14 July 22
Quote from: ikonsgr on 22:53, 14 July 22If you have a new firmware (6c,6d) you should use only the diode, in order for the dsk swap button to function correctly. With Boards with older firmware, diode have no effect, but you can try to place the pull up resistor if you have booting problems with USIfAC.
So with 6d, I should remove the resistor and add the diode?
Yes, but as i explained, with new firmware, diode only has to do with the function of dsk swap button. Only with older firmwares, the pull up resistor might help with booting problems.

WacKEDmaN

Quote from: ikonsgr on 22:46, 14 July 22Afaik, absolute maximum voltage ratings for 74LSxx chips is 7volts. Although it's a bit dangerous to work Amstrad on over 6volts, as heat dissipation of the large chips (GA,765FDC,Z80,8255) is raised exponentially with overvoltage. But i suppose if you place heatsinks you can work Amstrad rather safe. Ofcourse as we are talking for a new replica board with new ic's, they should be much more durable to... "stress", than a ~35 years old amstrad  :)
Anyway, i believe that overvoltage seems to counteract the problem of the internal resistance of traces (especially for gnd and 5v supply) noted before.
Now, about the non-respond behavior of the windows utility, this usually happens with wifi connection, unfortunately tcp/ip server is a bit  quirky with connections. But with serial connection, if you don't get a respond, you can just select another function (like terminal) and then reselect direct mode, this usually  resolve the problem. (note that for usb2serial cable adapter, you DONT connect the 5v pin to USIfAC's 4pin uart port, as adapter is powered from usb port)

Btw, i receive the new revised boards for RAM/ROM board, stability and general board behavior improved, so i believe i will have some available pretty soon ;-)

yes the heat generated is exponential with the voltage.. ive put a fan on the GA which is keeping it nice and cool.. and the airflow seems to be going right across the board and cooling the z80, CTRC and PPI...most of the chips are original, mainly just new logic ICs..

the windows utility crash has nothing to do with wifi.... im only connected via serial.. it connects fine BUT... if its connected and CPC is switched off and back on, it pops up saying Serial disconnected.. i close that popup.. and the whole app locks up. no buttons work, not even the close button, i have to force close it from task manager and restart it to be able to use it...

and yes im only using RX/TX and GND on the serial connection..(altho id like to try powering the USIFAC via the serial..so i dont have to run the rest of the board at such a high voltage..but thats gonna require cutting the +VE trace on the USIFAC)

ikonsgr

I've just tried the utility (win7/64bit) with a usb2serial cable and it works fine. In direct mode, i can switch off/on amstrad without problem. What windows do you use?
Anyway,why you need to switch off and on amstrad, when you have the reset button?  :) 

WacKEDmaN

#932
Quote from: ikonsgr on 17:56, 15 July 22I've just tried the utility (win7/64bit) with a usb2serial cable and it works fine. In direct mode, i can switch off/on amstrad without problem. What windows do you use?
Anyway,why you need to switch off and on amstrad, when you have the reset button?  :) 
im using win10 pro..  and FTDI usb2serial...
i need to switch off CPC after using a DSK image, and |464, coz i havent found a way to get back to USIFAC mode after a |464... reset, just resets back to |464 mode until i switch power off.. (hmm maybe i need to readd that diode!)


WacKEDmaN

also in the serial communication utility... 
I can not change the Host IP wifi setting or port... i can select the text, but cannot delete or change it...its stuck on 10.0.0.2, i need 192.168.0.116

ikonsgr

Quote from: WacKEDmaN on 20:59, 15 July 22also in the serial communication utility...
I can not change the Host IP wifi setting or port... i can select the text, but cannot delete or change it...its stuck on 10.0.0.2, i need 192.168.0.116

 You can only change port number, the ip is determined by windows and it should be the local ip of your PC.
Btw, you shouldn't have problems reseting USIfAC from |464 mode, so maybe you should place back the diode  :)

WacKEDmaN

Quote from: ikonsgr on 22:17, 15 July 22
Quote from: WacKEDmaN on 20:59, 15 July 22also in the serial communication utility...
I can not change the Host IP wifi setting or port... i can select the text, but cannot delete or change it...its stuck on 10.0.0.2, i need 192.168.0.116

 You can only change port number, the ip is determined by windows and it should be the local ip of your PC.
Btw, you shouldn't have problems reseting USIfAC from |464 mode, so maybe you should place back the diode  :)
well my local gateway is 192.168.0.1 ...not in the 10.0.0.x range...
...and this utility program is being a PITA
...i hooked up Wifi.. it works, i can access |wifi and set it up, put the host and port in, and it connects to the utility app...but then the app crashes with access violations..and the |Wifi wants to retry... i have to FORCE close the app and restart it... but when i try to connect again it just throws the access violations all the time

ikonsgr

Unfortunately i don't have win10 to test the utility, maybe some other could tell us if it have problems with win10.

WacKEDmaN

well this is quite interesting!...

went to hit the reset button and noticed that the USB enabled led went out when the board moved....
so i resoldered every pin on the usifac... now its stable at 6v!.. and the USB led doesnt go out when i push the reset button...

what so interesting? ... it worked fine with the bad solder joints in OG CPCs! ..

im just happy its not right on the edge of voltage limit now!

EDIT: spoke to soon... serial connection is not stable at that voltage...
SMH...why is this being such a pain in the ass for me?!

shacpc

LiliCPC, 4K version (+4000 games).

Available in Mega repository in telegram group Amstrad Power. Changes: Bug fixes for previous version, removal of unnecessary files which has favoured a size reduction, 800 new games most of those wonderful ones from kiosk magazines, now the LiliCPC in an autorun with which we only need to select the USB drive we will insert in the USIfAC II, tutorial update (SUPORT folder) and other minor changes.  With the supervision of Ikonsgr and as always all credits to the authors of the games and their hacks. Don't expect new commercial games, only the ones that their authors have distributed for free are listed. For newcomers I recommend to read the manual before you start running games.

There is no support for this launcher/collector. If someone has knowledge of android app programming, it would be great a mobile version of LiliCPC Search created by Ikonsgr.

https://mega.nz/folder/93pR2KiA#qlkiFakrZhSzmko65EbTWw/file/FjwFiA7b

eto

Quote from: ikonsgr on 12:11, 08 July 22So, first, anyone with this kind of wierd erratic problems on CPC464, can check what GA chip is installed.
Then,you might experiment with 10k pull-up or pull-down resistors on either READY signal (pins in green circle), or master CLC output (pins in Red circle).
so... it took a bit longer to test it, sorry. now for the result: unfortunately no change

Firmware 6e, Gate Array 40007
I first tried pull-up for READY and CLC and then pull-down for both of them: absolutely no change, once I enter |USB and then reset, the 464 is stuck in an endless boot loop.

WacKEDmaN

Quote from: eto on 22:24, 19 July 22so... it took a bit longer to test it, sorry. now for the result: unfortunately no change

Firmware 6e, Gate Array 40007
I first tried pull-up for READY and CLC and then pull-down for both of them: absolutely no change, once I enter |USB and then reset, the 464 is stuck in an endless boot loop.
any chance you could try it with a bit more voltage... like 6.2-6.5v? ...i get it if you dont want to!

the 40007 seems to draw a fair amount of current compaired to the newer GAs... it also has the VCC2 through the 2x 1/2W 12ohm resistors.. where the 40010 doesnt have any VCC2 rails...

WacKEDmaN

Quote from: shacpc on 17:52, 19 July 22LiliCPC, 4K version (+4000 games).

Available in Mega repository in telegram group Amstrad Power. Changes: Bug fixes for previous version, removal of unnecessary files which has favoured a size reduction, 800 new games most of those wonderful ones from kiosk magazines, now the LiliCPC in an autorun with which we only need to select the USB drive we will insert in the USIfAC II, tutorial update (SUPORT folder) and other minor changes.  With the supervision of Ikonsgr and as always all credits to the authors of the games and their hacks. Don't expect new commercial games, only the ones that their authors have distributed for free are listed. For newcomers I recommend to read the manual before you start running games.

There is no support for this launcher/collector. If someone has knowledge of android app programming, it would be great a mobile version of LiliCPC Search created by Ikonsgr.

https://mega.nz/folder/93pR2KiA#qlkiFakrZhSzmko65EbTWw/file/FjwFiA7b

Excellent! thanks for your efforts!

ikonsgr

I forgot to mention one addition i've made since fw 6c (~early this year).
You can disable completely USIfAC II by giving a simple: OUT &FBD1,100
You can then  reset Amstrad and you will get no boot msg, and apart from serial port, everything else is disabled (this is practically like "demoting" board to the old USIfAC I ,which had only a serial port).
Also,if you don't want to reset Amstrad,you can just give another: OUT &FBD1,0 (reset board only),which will disable USIfAC II without reseting Amstrad  ;)
You can also re-enable board by giving: OUT &FBD1,101 and then either reset amstrad or give out &fbd1,0 as before.
This might be handy if you have multiple boards connected to your amstrad and have problems booting.
Also, disabling/enabling USIfAC II board "on the fly", without needing to reset amstrad (by giving 2 simple out commands), might be useful in programs (either basic or assmebly) ,if for some reason you want  USIfAC "out of the way" and then re-enable it :) 

WacKEDmaN

added a few things to the help.txt for quick reference.. mainly the outs that i could find..


|HELP :Shows this Help page.
|CAT :Shows catalogue of files and sub dirs.
|CAT,'xxx'' :Shows list of files, Starting from 'xxx'.
|CAT,1 :Shows list of DSK images in selected dir(PC Direct Mode only).
|CD,'name' :Change dir to 'name'.Without argument, moves up a dir.
|CDR :Moves up to root directory.USB Device only.
|USB :Enable/Disable CH376 Usb Host Module,to access USB Storage Device
|EN :Enables Direct Mode 1 to access files from PC or USB Device.
|EN2 :Enables Direct Mode 2,try this,if Mode 1 fails to load a game/program.,(NOT to use with USB device)
|FDC :Enables/Disables 765 Floppy Disk Controller (765FDC) Emulation,,For accessing DSK images.Amstrad CPC 664/6128 only.
|DIS :Disables Direct Mode & FDC emulation,to Access Disk Drive. Alternatively,give:OUT &FBD1,4 or press RESET on USIfAC II board.
|464 :Resets Amstrad and enables Amsdos/Parados and 765FDC emulation. For accesing DSK images on Amstrad CPC 464 & Parados DSK on all CPC
|MD,'name' :Create directory 'name' in current Dir.For Usb Device Only.
|DEL,'xxx' :Delete all files starting from 'xxx',from selected dir. With PC direct mode,use wild card '*'.
|DELD,'name' :Delete directory 'name' from Usb Device.
|DOS,x :Select DOS Emulation,x=1 for Amsdos or x=2 for Parados.
|COPY,'xxx' :Copies from USB Device to Floppy disk,all files starting from 'xxx'.
|MG,'name' :Places DSK image 'name',to Image Slot 1 (for 765FDC emulation).Without argument,enables automatic selection of image,(first image found in selected dir,PC Direct mode ONLY)
|MGx,'name' :Places DSK image 'name',to Image slots x = 2,3, or 4
|SMG :Shows Image Slots,and currently selected.
|SET :BASIC Utility for easy setting Serial port speed. On CPC464 give 'Run' after 'Ready' prompt
|STAT :Shows current status of USIfAC II Interface. (UART speed,ROM number,Status for Direct Mode,FDC emulation etc)
|FORMAT :Utility for quick and easy formatting Floppy Disks. Supports DATA and SYSTEM formats.
|WIFI :Utility for easy configure ESP8266 WiFi modules.,On CPC464 give 'Run' after 'Ready' prompt
|DSK :Utility for copying DSK images from PC to Floppy disk.
|DSK,'name' :Copy DSK images from Usb Device to Floppy drive A:
|DSK,'name',1 :As above,but copies image to Drive B:
|2PC :Utility for copying files,from Amstrad CPC floppy disk, To selected directory on PC or USB Device.
|2CPC :Utility for copying files,from PC to Amstrad CPC disks. (Use with PC Direct mode only)
|TER :Terminal Utility.On CPC464,give 'Run' after 'Ready' prompt
|COM :Small Terminal for easy communication with Wifi/Bluetooth Modules.
|WROM,'name' :Write to EEPROM,first 1022 bytes of 'name' file.
|WROM,adr,size :Write to EPPROM,'size' bytes,starting from RAM address 'adr'  (Size can't be more than 1022 bytes)
|LROM,addr :Loads EEPROM contents to RAM,at 'addr' address.
|GALA :Loads GALACHIP game.On CPC464 give 'Run' after 'Ready' prompt
|PACMAN :Loads PACMAN game.On CPC464 give 'Run' after 'Ready' prompt
|KGOR :Loads KILLER GORILLA game.On CPC464 give 'Run' after 'Ready' prompt


out &FBD2,x        : Set USIFAC ROM slot on CPC (default 5 464: 1 to 6 6128: 1 to 15 not 7)

out &FBD1,0        : Reset USIFAC (without resetting CPC)
out &FBD1,1        : Clears receive data buffer
out &FBD1,2        : Enables a special asynchronous burst mode
out &fbd1,3        : Disables the special asynchronous burst mode.
out &FBD1,4        : Disables direct mode (e.g. all cat/load/save/run commands will be directed to disk drive)
out &FBD1,5        : Enables direct mode (if usb mode=off then all cat/load/save/run commands will be directed to serial port->connected pc, otherwise, usb flash will be accessed)
out &fbd1,6        : Enables FDC emulation
out &FBD1,51       : enable/disables usb mode (on->off or off->on)
out &FBD1,8        : disables usb mode
out &fbd1,10       : Set serial speed to 300bps
out &fbd1,11       : Set serial speed to 2400bps
out &fbd1,12       : Set serial speed to 9600bps
out &fbd1,13       : Set serial speed to 19200bps
out &fbd1,14       : Set serial speed to 38400bps(useful for setting Bluetooth module)
out &fbd1,15       : Set serial speed to 57600bps
out &fbd1,16       : Set serial speed to 115200bps(the usually default speed for Wifi Modules)
out &fbd1,17       : Set serial speed to 230400bps
out &fbd1,18       : Set serial speed to 460800bps
out &fbd1,19       : Set serial speed to 576000bps
out &fbd1,20       : Set serial speed to 31250bps useful for connecting MIDI devices
out &fbd1,21       : Set serial speed to 921600 (max speed using wireless Bluetooth modules)
out &fbd1,22       : Set serial speed to 1000000bps(connection speed for usb storage device)
out &fbd1,23       : Set serial speed to 1065600bps(max speed for serial cable/Wifimodule)
out &FBD1,30       : Get status report (like with |STAT command)
out &FBD1,31       : Get image slots report (like with |SMG command)
OUT &FBD1,66       : return to USB device root directory after reset
OUT &FBD1,65       : staying in last directory used
out &FBD1,70-73    : Select directly dsk image slot 1-4
OUT &FBD1,100      : Disables USIFAC II (then reset CPC)(fw +6c only)
out &FBD1,101      : Re-enables USIFAC (then reset CPC)

inp(&fbd5)      : Get currently selected dsk image slot
inp(&fbd8)      : get USIfAC ROM NUMBER
inp(&fbdd)      : Get serial speed code
inp(&fbde)      : Get usb mode state (1=enable, 0=disable)
inp(&fbdf)      : Get FDC emulation state (1=enable, 0=disable)

d_kef

Found a small mistake: out &fbd2,x for selecting the ROM slot

Here is a more complete in/out list from the time when I was gathering all available info to write the USIfAC II driver for HDCPM.

out &fbd1,0 :For resetting the interface (without resetting Amstrad CPC)
out &fbd1,1 :Clears receive data buffer
out &fbd1,2 :Enables a special asynchronous burst mode.
out &fbd1,3 :Disables the special asynchronous burst mode.
out &fbd1,4 :Disables direct mode (e.g. all cat/load/save/run commands will be directed to disk drive)
out &fbd1,5 :Enables direct mode (if usb mode=off then all cat/load/save/run commands will be directed to serial port->connected pc, otherwise, usb flash will be accessed)
out &fbd1,6 :Enables FDC emulation
out &fbd1,8 :disables usb mode
out &fbd1,10 :Set serial speed to 300bps
out &fbd1,11 :Set serial speed to 2400bps
out &fbd1,12 :Set serial speed to 9600bps
out &fbd1,13 :Set serial speed to 19200bps
out &fbd1,14 :Set serial speed to 38400bps(useful for setting Bluetooth module)
out &fbd1,15 :Set serial speed to 57600bps
out &fbd1,16 :Set serial speed to 115200bps(the usually default speed for Wifi Modules)
out &fbd1,17 :Set serial speed to 230400bps
out &fbd1,18 :Set serial speed to 460800bps
out &fbd1,19 :Set serial speed to 576000bps
out &fbd1,20 :Set serial speed to 31250bps useful for connecting MIDI devices
out &fbd1,21 :Set serial speed to 921600 (max speed using wireless Bluetooth modules)
out &fbd1,22 :Set serial speed to 1000000bps(connection speed for usb storage device)
out &fbd1,23 :Set serial speed to 1065600bps(max speed for serial cable/Wifimodule)
out &fbd1,30 :Get status report (like with |STAT command)
out &fbd1,31 :Get image slots report (like with |SMG command)
out &fbd1,51 :enable/disables usb mode (on->off or off->on)
out &fbd1,65 :disables return to root directory
out &fbd1,66 :enables return to root directory
out &fbd1,70-73 :select directly dsk image slot 1-4
out &fbd1,100 :disables USIFAC II
out &fbd1,101 :re-enables USIFAC II
out &fbd2,x :set USIfAC II ROM nr

inp(&fbd5) :get currently selected dsk image slot
inp(&fbd8) :get USIfAC ROM NUMBER
inp(&fbdd) :get serial speed code
inp(&fbde) :get usb mode state (1=enable, =disable)
inp(&fbdf) :get FDC emulation state (1=enable, 0=disable)

d_kef

WacKEDmaN

good catch!.. ive updated the post and the file above...

WacKEDmaN

heres a crappy vid of me loading some games with the USIfAC..with 6128 rom ..from both LiliCPC, and DSK image

i found if i hold reset..press disk swap..and then release reset i dont need to power down the CPC after a |464 (i also reset via keyboard most of the time..CTRL+SHIFT+ESC saves me reaching over for the button!)

i wish USB would support more than 8 character filenames..(it shows that the amount of effort put into LiliCPC_4K!)..its fine over serial..


shacpc

Quote from: WacKEDmaN on 03:06, 25 July 22heres a crappy vid of me loading some games with the USIfAC..with 6128 rom ..from both LiliCPC, and DSK image
i found if i hold reset..press disk swap..and then release reset i dont need to power down the CPC after a |464 (i also reset via keyboard most of the time..CTRL+SHIFT+ESC saves me reaching over for the button!)
i wish USB would support more than 8 character filenames..(it shows that the amount of effort put into LiliCPC_4K!)..its fine over serial..
Two recommendations for greater satisfaction in the use of lilicpc:

1. Put the lilicpc files in the root folder of your USB, because I have seen in the video that you have a LILICPC folder.
2. make that every time you reboot the usifac take you to the root of the USB with the command OUT &FBD2,5

so in the future, every time you restart you can directly load a game with the RUN"XXX (XXX game code) and not have to constantly use commands |CD etc

eto

Quote from: WacKEDmaN on 03:06, 25 July 22i found if i hold reset..press disk swap..and then release reset i dont need to power down the CPC
So I tried this too, but not with success in my case. However, it actually did have some impact as once i hit drive select and reset, I got an error message "unknown error in 2295". See screenshot attached. I tried several times, and the result was each time different, but at least, the computer did something. 

@iconsgr this happened, while READY and CLC were pulled down. Once I removed the pull down resistors, drive select had no longer an effect and it was like always: endless loops until I turn off the computer. 


WacKEDmaN

Quote from: shacpc on 21:19, 25 July 22
Quote from: WacKEDmaN on 03:06, 25 July 22heres a crappy vid of me loading some games with the USIfAC..with 6128 rom ..from both LiliCPC, and DSK image
i found if i hold reset..press disk swap..and then release reset i dont need to power down the CPC after a |464 (i also reset via keyboard most of the time..CTRL+SHIFT+ESC saves me reaching over for the button!)
i wish USB would support more than 8 character filenames..(it shows that the amount of effort put into LiliCPC_4K!)..its fine over serial..
Two recommendations for greater satisfaction in the use of lilicpc:

1. Put the lilicpc files in the root folder of your USB, because I have seen in the video that you have a LILICPC folder.
2. make that every time you reboot the usifac take you to the root of the USB with the command OUT &FBD2,5

so in the future, every time you restart you can directly load a game with the RUN"XXX (XXX game code) and not have to constantly use commands |CD etc

yup.. ive got it setup like that now.. moved my folder in there too so i can access it..

ive found i cant load some games over serial for some reason..its either fails to load, or reboots itself..(same files used for USB)..DSK images mostly work fine tho..



Powered by SMFPacks Menu Editor Mod