CPCWiki forum

General Category => Amstrad CPC hardware => Topic started by: ikonsgr on 08:17, 01 December 20

Title: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 08:17, 01 December 20
For a "Quick Start Guide" see at the end of post!

For technical help, please head over to https://www.cpcwiki.eu/forum/hardware-related/usifac-ii-technical-problems-support/ .

Universal Serial Interface for Amstrad CPC II (a.k.a. USIfAC II or... THE GOTEK KILLER FOR AMSTRAD CPC!  :D), is an evolution of my previous Design (http://www.cpcwiki.eu/forum/amstrad-cpc-hardware/universal-serial-interface-for-amstrad-cpc) USIfAC (with which is fully compatible), based on a modern and much more powerful 40pin 18F47Q10@64Mhz  8bit PIC microcontroller, which offers many new amazing features:

(https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/usifac-iimake-your-pc-or-usb-stick-an-hdd-for-amstrad-access-dsk-and-many-more!/?action=dlattach;attach=34008;image)

   
Here (https://www.youtube.com/watch?v=AmeqV5Z8Ziw&t) is a small presentation of the board using a usb flash drive on a CPC 6128 and Here (https://www.youtube.com/watch?v=4ZjLQcK0i98) on a CPC 464!.
(Mind also that it can be perfectly used with CPC 464 too, in fact USIfAC II might be the easiest fastest and cheapest solution for loading games on a CPC464! )

All previous utilities (like terminal, file copy, format disk etc) are now easily accessible through RSX commands, with the addition of some new RSX commands for easy setup and configure Serial port speed (|SET), Wifi/Bluetooth Modules (|WiFi,|COM), show status of Interface(|STAT), and finally, an on line help (|HELP) which gives you a short description of all RSX commands supported!

- First, here is the files for a case for 3D printing: https://www.thingiverse.com/thing:4974135

(http://www.cpcwiki.eu/forum/amstrad-cpc-hardware/usifac-iimake-your-pc-or-usb-stick-an-hdd-for-amstrad-access-dsk-and-many-more!/?action=dlattach;attach=35274;image)

  And Here (https://www.dropbox.com/sh/ezzga2dppm6jlm7/AACwFC_rv2QatWh_ndKc9fhma?dl=0) you can find:
- The new User's Guide  (Amstrad CPC Serial Interface II User Guide.pdf)

- The new windows utility program ('Windows program' folder), for Direct connection with a PC, that have some improvements too (for example, direct mode now works with WiFi module too,and program have more stable operation)

- A File manager (filemanager.zip) for easy manage & loading files/dsk images/snapshots! Copy contents of the folder to usb flash drive root dir,and give to Basic prompt: RUN"FM".  Select 'Y'/'y' (Check with |STAT if you board has rev_4c firmware or newer, and then you can also choose "n"/"N"). Use keys:
              - Left-Right arrows for changing pages.
              - Up/Down arrows for seeking file/dir names into each page.
              - <Return> for taking action: If selected name is a directory it will move into it, if it's a "DSK" image it will give you a catalogue of the disk image(CPC6128/664) or it will reset (CPC464) and then  you can access image by giving "CAT".Finally, if it's a file,it will try to execute it.
                - <SPACE> Moves up a directory, if you are inside a sub folder you can also use "." or ".." at the top of first page.

- A utility (disk2image.zip) for creating disk images from old Floppy disks, in just 40 seconds!. You can use it with older and newer boards, just extract the zip file to usb stick and run "disk2img.bas". You will be asked to give a disk image name (you can use the included TEMP.DSK or any other standard DATA format dsk image). For root directory you should also add a  '/' in front of name, e.g.: '/TEMP.DSK', but if you use a folder, you don't need to add '/'. Utility can transfer only standard "data format" floppy disks (40 tracks with 9sectors/track, 512 byte/sector), which i believe was, the vast majority of disks used back in the '80s.

- CPCLoad utility that offers an easy batch extraction of files from dsk images, in order to benefit from the amazing loading speeds!

- A Dsk manager for easy mounting images manually, to the 4 available slots (Multi_dsk_manager.zip)

- A small utility to type ASCII/txt files on screen (type.zip). Run TYPE.BAS, give file name. Use any key to pause text, press again to unpause.

- Basic loader creator utility (cpc_loader.zip) for creating small Basic loaders for your games/programs, and make loading process much easier:

(https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/usifac-iimake-your-pc-or-usb-stick-an-hdd-for-amstrad-access-dsk-and-many-more!/?action=dlattach;attach=34068;image)

It supports direct file folders, DSK images and SNA snapshot files. It will be especially useful for CPC 464, where giving RSX commands with arguments is rather tiresome (instead of giving directly commands,like with CPC 6128, you need to set first a string variable, for example, the command: |CD,"DIR",  is given as: A$="DIR":|CD,@A$)

Also, here (https://www.dropbox.com/sh/hzp3a4b7fktcn8c/AAAj2U8otKw26j-chnd8uUxla?dl=0)  you can find a public list of good games that are tested,and with your help (https://www.cpcwiki.eu/forum/games/how-about-making-a-'worth-to-play'-collection-of-amstrad-games/) i intend to update it constantly!

And now, for the best part, i can offer:



All prices include registered/tracked postage!

Anyone interested, please contact at: ikonsgr745@hotmail.com

Quick Start Guide:

You can now use file manager (https://www.dropbox.com/s/aaeqqvvuuln3pcc/File%20manager.zip?dl=0) for easy browsing and loading games/programs from usb device, without needing to give any RSX command manually!

|HELP: Get a list of all available RSX commands with short descriptions
AMSTRAD CPC 664/6128:
For direct file access:
- |USB to enable usb host module (with firmware _2d and newer, this required only once,after initial power up)
- |CAT to get a catalogue of root directory
- |CD,"dir" to change directory to "dir"
- |CAT to get catalaogue of "dir"
Then you just give RUN"NAME" of the BAS/BIN file, exactly like you do when using a floppy disk!

For Amsdos dsk image access:
- |USB to enable usb host module
- |CAT to get a catalogue
- |MG,"name" to select the image file you want to use
- |FDC, to enable Floppy Disk Controller emulation
From now on, any CAT,LOAD,RUN,SAVE command will access dsk image!
And by giving again "|FDC" command, FDC emulation will be disabled and CAT,LOAD,RUN,SAVE commands will access again the usb flash drive!

For Parados dsk image access:
Follow the above first 3 steps,but then give:
- |DOS,2,for Selecting PARADOS Emulation
- |464 ,Amstrad will reset, and then you can access the PARADOS dsk image using CAT,LOAD,RUN,SAVE commands.
Note that RSX commands can't be used in this mode of operation, until you RESET Amstrad again.

AMSTRAD CPC 464:
For direct file access:
- ONLY ONCE, after first power up you should give: |464 and then press RESET button on the board No need to do it with boards sent after Feb 2021,(firmware 2c and newer,)
- |USB to enable usb host module
- |CAT to get a catalogue of root directory
- a$="dirname"
- |CD,@a$ to change directory to "dirname"
- |CAT to get catalaogue of subdir
Then you just give RUN"NAME" of the BAS/BIN file, exactly like you do when using a floppy disk!

For Amsdos dsk image access:
- ONLY ONCE, after first power up you should give: |464 and then press RESET button on the board No need to do it with boards sent after Feb 2021,(firmware 2c and newer,)
- |USB to enable usb host module
- |CAT to get a catalogue
- a$="imagename"
- |MG,@a$ to select the above disk image file
- |DOS,1,for Selecting AMSDOS Emulation
- |464, Amstrad will Reset, to enable Floppy Disk Controller & DOS emulation,
From now on, any CAT,LOAD,RUN,SAVE command will access dsk image!

For Parados dsk image access:
Follow the above first 4-5 steps,but then give:
- |DOS,2,for Selecting PARADOS Emulation
- |464 ,Amstrad will reset, and then you can access the PARADOS dsk image using CAT,LOAD,RUN,SAVE commands.
Note that RSX commands can't be used in this mode of operation, until you RESET Amstrad again.

Update Firmware:

Latest firmware release (rev6d): 27/3/2022
  18F47Q10_6d: https://www.dropbox.com/s/kurhjh7loyktytu/18f47q10_6d.zip?dl=0 (for all boards, older boards will not have dsk swap button functionallity)
 
List of updates since initial version (1/12/2020):
Update DSK image transfer function (RSX command:|DSK), you can now Copy DSK images to floppy disks from either a PC or usb stick (initial firmware supported  transfers only from PC)
-  Major code optimization in file access speeds on direct mode, resulting in ~20%-25% speed increase!
-  Further optimization in file loading code, witch offers ~2% extra loading speed increase!
-  Some other minor code optimizations which offer a small overall performance boost.
-  Dsk image transfer,now supports practically any format (DATA, SYSTEM, IBM, PARADOS etc), with any number of tracks (up to 80) and any sector size from 512byte up to 4096bytes.Also writing speed to disk, is increased with most images (having 9sectors/track & 10sectors/track,either in sequential or interleaved order)
- No need for performing the CPC 464 Initial procedure after first power up, now Amstrad automatically resets a couple of times after "cold start", and then you can directly give "|USB" command, exactly like for CPC 6128!
- No need to give |USB command after every Reset,but only after Amstrad's initial power up (for ALL Amstrad models, with firmware _3a and newer).
- NEW feature added: Access multiple dsk images "on the fly"! Using the new "dsk swap" button on the new board, you can "round select" up to 4 different dsk images,and be able to load ALL mutli image games/programs/demos!
- Bug fix: File extension was ommited when saving a file with full 8+3 characters (e.g. "filename.bas" was saved as "filename" without the extension)
- Get faster catalogue lists from Usb device (~25% faster on mode 1, and ~50% faster on mode 2, firmware _3 and newer)
- 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, 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, without needing to give |CDR command!  ;)
- |STAT command now shows Firmware revision and if return2root directory after Reset is enabled.
- Bug fix: When saving a file, Dsk Image name in slot 1, changed to name of saved file.
- Code optimization of Board's Rom assembly code.
- |CD & |CAT arguments, now support lower case letters too.
- New RSX Command: |SNA, for loading SNA snapshot files.
- RSX commands: |SET,|COM,|WIFI,|TER,|GALA,|PACMAN,|KGOR are now executed directly on CPC464, without needing to give "RUN" anymore!
- SNA routine now checks if Amstrad has 64k only, and loads only the 1st 64k ram dump even if snapshot file is for 128k. The reason i did this is because i noticed that the snapshot archive has a lot of game files that are 128k but actually only the 1st 64k iis used, so now you will be able to load most of the SNA files on CPC464 too.
- Minor optimization of  board's ROM code this time:replace "cp 0" with "or A" , reduce the size of hex file by dumping initial zeros of arrays & variables used in routines transferred to RAM.
- Fix a small bug in |format routine- now shows correctly  formatted track numbers.
- Fix a bug in |2PC routine when use the "invert file selection" function.
- New RSX command: |DISK,name,(1), for getting an image to a usb device from a floppy disk. Supports DATA/SYSTEM/IBM formats & up to 42 tracks. Optional '1' argument, is for auto creating new image filenames, based on the name you give, by adding a letter at the begining of the name (Aname,Bname, Cname etc), in order to take many backups in a row, by only changing disks and pressing a button.
- New RSX command: |MAN This resembles |CAT, but instead of getting the list of files/subfolders of a usb device to screen,it outputs the list of files/subfolders into RAM, starting from &2b000 and using '1' as separator,'2' to mark end, e.g.: 1NAME1NAME1NAME...1NAME2
Function is used by filemanger utility, but it would also be useful for anyone want to develop it's own programs.
- New RSX command: |UCOPY,"name1","folder path",("name2"). Copy a file into usb device, named "name1", from it's current position, into another folder. Optionally you can give "Name2" to copy file with a new name.For example,command: |UCOPY,"GAME.BAS","/DIR1/GAMES","GAME2.BAS" will copy GAME.BAS file to /DIR1/GAMES subfolder with name "GAME2.BAS". If you omit the last argument, then file will be copied with same name. Function can be used with any file, regardless the size. Actual copy speed is ~5-10kb/sec (depending on the speed of usb flash drive you are using),so large files like DSK images, will need some time to be copied.
- Better Respond & Error handling, to minimize crashes,hang-ups and erroneous messages. For example,until now, giving |CAT or |DEL without serial connection or usb device enabled, Amstrad hangs up and needed reset.Now, it will try to get respond for a couple of seconds,and then gives you an error message.Also, using |COPY or |DEL commands repeatedly, sometimes caused problems with |CAT,after.All these weird responds, should be now fixed.
- Bug Fix: Swapping dsk images didn't function in some stituations.
- Bug fix: Loading eeprom (|WROM) from usb device file,didn't work right.
- Overall optimization of Board's main ROM code.
- Update |HELP to include the new RSX commands.
- GREAT direct  file loading speed increase of ~+25% now reaching up to ~30kb/sec!Affects direct file and snapshot loading speeds.
- |UCOPY: Bug fixes and much better error handling.
- |DISK: Bug fixed: image files created didn't work with emulators.
- Minor overall code optimization (overall ~0.5%-1% speed increase... ::) )
- Changed file loading code in order to follow Amstrad's file name search order: first tries name as it is, then tries with .BAS extension, final with .BIN extension (previous version tried only with .BIN extension)
- Major speed improvement in access of ASCII files, effectively doubles reading speeds and ~50% faster writes.
- Bug fix: Unable to Load/Save file right after deleting files from usb flash drive (gave a "file not found" msg, and needed to load/save file again)
- Firmware revision is now shown in boot message
- |CAT,CAT commands, now show lists in 2 columns for MODE 1 and 4 columns for Mode 2.
- |FORMAT now places sectors in interleaved order (instead of sequential).This will not affect the format time of a disk, BUT,it will offer MUCH faster reading (~100%) and writing (~50%) speeds!
- |FDC now checks for valid image name and gives an error message if there isn't any. This will help to avoid hang ups, if you try to access non-existant image name or if image slot is empty (forgot to give |MG,"name" before activating FDC emulation).
- New RSX command: |SIZE,"filename shows size of filename in bytes.


Quick PIC program Guide:
- You will need a rather cheap PIC KIT 3 programmer (https://www.ebay.ie/sch/i.html?_from=R40&_trksid=p2334524.m570.l1313&_nkw=pickit+3+programmer&_sacat=0&LH_TitleDesc=0&_osacat=0&_odkw=pic+kit+32).
- Plug the icsp connector from pickit3 to ICSP connector on the board (on some boards might need to solder the ICSP pins) or remove PIC chip from on-board socket, and place it on cheap zif socket (https://www.ebay.ie/itm/PIC-ICD2-PICKit-2-PICKIT-3-Programming-Adapter-Universal-Programmer-Seat-board/191851404539?hash=item2cab3c1cfb:g:rncAAOSwd3dXFaZ-).
- Use the MPLAB IPE (https://www.microchip.com/en-us/development-tools-tools-and-software/embedded-software-center/mplab-integrated-programming-environment#), (which is part of MPLAB IDE and you can download from here (https://www.microchip.com/mplabx-ide-windows-installer)), to re-program PIC (18F47Q10).
After re-programming PIC MCU, you should assign a rom number to the board, by giving: out &FBD2,5 on basic prompt, and then reset.

Finally, Here (https://www.dropbox.com/s/pymv4sbxch3psin/Updating%20the%20Firmware%20of%20USIfAC%20II%20via%20ICSP%20v1.pdf?dl=0) you will find a very detailed guide for updating firmware made by good CPCWiki member Richard_Lloyd (thanks Richard!)


Guide for older boards, to manually connect a usb host module on the board

The usb host module is connected easily through the 4 dupont wires (which i will also send you) as follows:
[attach=2,msg194893]
Board with module attached should look like this:
[attach=1,msg194893]

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad's HDD,access dsk's,and many more!
Post by: XeNoMoRPH on 08:36, 01 December 20
I am interested in a unit, please :)
Title: Re: USIfAC II:Make your PC or USB stick an HDD for Amstrad,access dsk and many more!
Post by: Gryzor on 08:49, 01 December 20
So you can actually run games normally from their files (not dsk images) from the mass storage? At this price it's really good!!! How about compatibility?
Title: Re: USIfAC II:Make your PC or USB stick an HDD for Amstrad,access dsk and many more!
Post by: ikonsgr on 08:57, 01 December 20
Quote from: Gryzor on 08:49, 01 December 20
So you can actually run games normally from their files (not dsk images) from the mass storage? At this price it's really good!!! How about compatibility?

Yeap! Exactly that! Practically the usb stick is converted to a huge HDD for your amstrad! And the GREAT benefit of "getting rid" of  the dsk container is... SPEED! Loading is so fast that is actually compared to a rom board, most games load in 2-3 seconds!  :)
Check the small presentation (https://www.youtube.com/watch?v=AmeqV5Z8Ziw&t) i've made, and see for yourself!
Compatibility is very good too, most multi-file games load just fine, only "drawback" is that you can't load games that use track loaders or non standard amsdos routines. But for these, i developed a floppy controller emulation in order to access dsk images too! So in practice USIfAC II is like having an HDD flash drive disk along with a gotek drive together! ;-)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad's HDD,access dsk's,and many more!
Post by: Gryzor on 09:16, 01 December 20
Holy cow this sounds beautiful! I want one, please :)

Yeah I realise that some games will run into problems loading but I guess there are always cracked releases one could use. But if there's a solution to also access dsk images... then wow.

I did watch (most of) the presentation before rushing here to post, I didn't see anything about this last part, I now saw it's around the 2:30 mark!
Title: Re: USIfAC II:Make your PC or USB stick an HDD for Amstrad,access dsk and many more!
Post by: TotO on 09:38, 01 December 20
Quote from: Gryzor on 08:49, 01 December 20At this price it's really good!!!
The price of the CPC passion by not selling for the features.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad's HDD,access dsk's,and many more!
Post by: ikonsgr on 09:44, 01 December 20
Quote from: Gryzor on 09:16, 01 December 20
I did watch (most of) the presentation before rushing here to post, I didn't see anything about this last part, I now saw it's around the 2:30 mark!

Also at the begining of the video, the 1st load of star sabre is done through a dsk image, where loading is like from a normal drive ~4-5kb/second, but after that, i'm using the direct file method to load the same game and speed is "boosted" to ~18-19kb/sec!
The last loading in video, is done through a very large and bulky 800kb parados image file, and that's why speed is rather slow, but if you use normal amsdos dsk images,  actual speed is usually a bit faster than a real disk drive.
Mind also that games using large images but with amsdos boot sectors (like orion prime for example), are loading VERY fast, even from the dsk image! ;-)
Title: Re: USIfAC II:Make your PC or USB stick an HDD for Amstrad,access dsk and many more!
Post by: ikonsgr on 09:49, 01 December 20
Quote from: TotO on 09:38, 01 December 20
The price of the CPC passion by not selling for the features.

Well,if i had to consider the 100's and 100's of hours in the last many months, that took me to develop these features, then i should sell it for 100euros!  :)
But again, the main purpose is to offer fetaures to the community as practical, as easy and... as CHEAP as it can be!  ;)
Title: Re: USIfAC II:Make your PC or USB stick an HDD for Amstrad,access dsk and many more!
Post by: TotO on 09:54, 01 December 20
Quote from: ikonsgr on 09:49, 01 December 20
Well,if i had to consider the 100's and 100's of hours in the last many months, that took me to develop these features, then i should sell it for 100euros!  :)
Exactly. And some games on CPC have to be sold for 500/1000€ instead of being free! ;D
Your new expansion is a really promising alternative to a bunch of other hardware. 8)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad's HDD,access dsk's,and many more!
Post by: krusty_benediction on 10:23, 01 December 20
Hello; it seems to be a great affordable interface that combines both HXC-like features and M4-like features !I have looked at the documentation, and available functionalities are fascinating.However, I'm not a gamer and my CPC use case probably differ of what most users expects. There are some points that forbid me to buy it at the moment:
- have you planned to add a snapshot loading  ability (I mainly test my developments by creating a snapshot sent to the CPC over wifi with the M4); without that I would have no use of this card- have you planned to write an os agnostic PC tool (I mainly develop from Linux) or a kind of HTTP API as the M4; without that I could not automatize PC project construction and CPC test by typing a single line of command
For the FDC emulation stuff, does it also work when the dsk in on the PC and accessible over the WIFI connection ?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad's HDD,access dsk's,and many more!
Post by: Gryzor on 10:37, 01 December 20
SNA loading would be interesting indeed, especially with the latest SNA batches!
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad's HDD,access dsk's,and many more!
Post by: ikonsgr on 12:12, 01 December 20
Quote from: krusty_benediction on 10:23, 01 December 20
- have you planned to add a snapshot loading  ability (I mainly test my developments by creating a snapshot sent to the CPC over wifi with the M4);
I'm not sure if understand that correctly, you mean the ability to directly load a file from pc and place it anywhere in Amstrad's ram? This can be already done in a way, as you can directly load a binary file from pc and if you want to load a headerless file, you can do it as ascii (which are also supported) using either "openout" and "read #9" commands from basic or CAS_IN_OPEN and CAS_IN_CHAR from assemly. Of course this would be rather slow, but i think it would be rather easy to add another RSX command in order to load any file from PC and place it anywhere in RAM very fast and without restrictions!  ;)

Quote from: krusty_benediction on 10:23, 01 December 20
have you planned to write an os agnostic PC tool (I mainly develop from Linux) or a kind of HTTP API as the M4; without that I could not automatize PC project construction and CPC test by typing a single line of command
For the development of windows utility program, i mainly used DELPHI (or RAD STUDIO XE3 to be more exact). All functions are embedded into main's program source code,  but if you want to develop any software for USIfAC everything is going down to simple input/output commands using only 2 ports! Btw, here are a couple of "3rd party" software that utilized the previous Usifac interface (and most probable will work on the new one too, as they are 100% compatible on the serial port section)
A midi interface (https://www.youtube.com/watch?v=960FIh6B_3g&feature=youtu.be)
Real time player using a Arkos sound tracker (https://www.youtube.com/watch?v=wZ8rREBnknM&feature=emb_rel_pause)
And as far as i remember both of the guys told me that it was rather easy to make them!  :)

Quote from: krusty_benediction on 10:23, 01 December 20
For the FDC emulation stuff, does it also work when the dsk in on the PC and accessible over the WIFI connection ?
Yes, you can use dsk images either in a usb flash drive mounted on the CH376 host module, or access them directly from a PC using Wifi module or Direct serial/bluetooth module connection.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad's HDD,access dsk's,and many more!
Post by: krusty_benediction on 12:14, 01 December 20
Quote from: ikonsgr on 12:12, 01 December 20I'm not sure if understand that correctly, you mean the ability to directly load a file from pc and place it anywhere in Amstrad's ram? This can be already done in a way, as you can directly load a binary file from pc and if you want to load a headerless file, you can do it as ascii (which are also supported) using either "openout" and "read #9" commands from basic or CAS_IN_OPEN and CAS_IN_CHAR from assemly. Of course this would be rather slow, but i think it would be rather easy to add another RSX command in order to load any file from PC and place it anywhere in RAM very fast and without restrictions!

No, I was literally talking of snapshots ;) https://www.cpcwiki.eu/index.php/Snapshot. (https://www.cpcwiki.eu/index.php/Snapshot)
For example, M4 allows to do that xfer -y cpcip file.sna to load the snapsjot on  cpc
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad's HDD,access dsk's,and many more!
Post by: ikonsgr on 13:58, 01 December 20
Quote from: krusty_benediction on 12:14, 01 December 20
No, I was literally talking of snapshots ;) https://www.cpcwiki.eu/index.php/Snapshot. (https://www.cpcwiki.eu/index.php/Snapshot)
For example, M4 allows to do that xfer -y cpcip file.sna to load the snapsjot on  cpc
Well, to tell you the truth i never got involved with snapshots...  :) What exactly you do with these files?
My main goal with USIfAC II, was not to take the "traditional" approach of trying to "adapt" and utilize the existed file containers and tools developed for Amstrad emulators, (like dsk image files or sna files)but instead, provide a simple,fast and straight forward file access to large storage devices (either an HDD of a connected PC or a usb flash drive).
By doing this, i was freed from floppy controller constraints (that imposed by the strictly use of dsk image containers) and manage to acheive MUCH faster read/write access to files! ;)
Of course, in the end, i've decided to add dsk image access functionality too, in order to be able to load some games/programs that used "low level" sector loaders, or for any game/program that the direct file loading didn't work for some reason.
In 2 words, USIfAC II is aimed mainly for the simple Amstrad user who want an easy fast and rather cheap way to load games/programs and also offer some extra functions for floppy disks (like quick format or copy files to floppy disks) for any "hard core" Amstrad user, that prefers the... "real thing"  :)
And i think, it's the easiest,fastest and probably the cheapest way to have a lot of fun with a CPC 464!  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad's HDD,access dsk's,and many more!
Post by: Gryzor on 14:32, 01 December 20
Indeed it is. For a simple user like myself, it sounds near perfect*. But the addition of snapshot support would probably eliminate much of the incompatibility cases, that's where the use would lie, for me!

Now, how can I buy one? :)

*if someone can make a case for it... ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad's HDD,access dsk's,and many more!
Post by: krusty_benediction on 17:02, 01 December 20
Quote from: ikonsgr on 13:58, 01 December 20Well, to tell you the truth i never got involved with snapshots...  :) What exactly you do with these files?

We specify the content of each memory byte as well as the content of crtc, z80 registers and some information for the gate array. So it is simply the state of a program when loaded in memory.
It is really useful when you have not yet created the loader/linker of the program.
For my case, I code each demo effect screen individually and test them in real time on CPC with snapshot send by the PC on the M4 that fill it in the CPC. Was doing the same when coding https://www.pouet.net/prod.php?which=87382 (https://www.pouet.net/prod.php?which=87382)
For other guyz, I guess it is interesting to start a game at a specific point during the play
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad's HDD,access dsk's,and many more!
Post by: ikonsgr on 18:52, 01 December 20
Quote from: krusty_benediction on 17:02, 01 December 20
We specify the content of each memory byte as well as the content of crtc, z80 registers and some information for the gate array. So it is simply the state of a program when loaded in memory.
It is really useful when you have not yet created the loader/linker of the program.
For my case, I code each demo effect screen individually and test them in real time on CPC with snapshot send by the PC on the M4 that fill it in the CPC. Was doing the same when coding https://www.pouet.net/prod.php?which=87382 (https://www.pouet.net/prod.php?which=87382)
For other guyz, I guess it is interesting to start a game at a specific point during the play
I see...but how you create such snapshots? Can you take a snapshot with M4 on a real amstrad? Because otherwise, i don't think it's very practical, at least from a "game point of view".. I mean, if you can take a snapshot only from an emulator, you would need to start playing a game on emulator, reach some point in game, then take a snapshot, and then continue to a real amstrad cpc with a M4 board ... Not very practical don't you think?  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: krusty_benediction on 20:06, 01 December 20
On my cases, I build them from scratch on my PC when assembling my asm code.
For the others, I do not know ;) But I'm pretty sure such interface (or M4) associated to an Hacker-like rom could build such snapshots. No idea if someone has implemented that already with M4.
Anyway, I'll follow this project and eventually buy one card lateer
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: slugman on 21:19, 01 December 20
Nice device! I sent you a PM for buying one  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 21:30, 01 December 20
What an great idea and expansion!!!

Can it actually simulate the Vortex F1-D FDC with different I/O addresses too?

Can we use X-DDOS instead of ParaDOS?

Well, I would like to sign up for 3 devices.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 21:47, 01 December 20
Quote from: GUNHED on 21:30, 01 December 20
Can it actually simulate the Vortex F1-D FDC with different I/O addresses too?
We already discussed (https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/universal-serial-interface-for-amstrad-cpc/msg190714/#msg190714) that, and i believe  that  Vortex will be directly supported too!

Quote from: GUNHED on 21:30, 01 December 20
Can we use X-DDOS instead of ParaDOS?
Well, if you want to have amsdos and X-DDOS emulation, tell me which one of the X-DDOS ROM file (https://www.cpcwiki.eu/index.php/X-DDOS) you want, and i'll "custom" replace parados with it, for your boards! ;-)




Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: remax on 22:42, 01 December 20
Count me in !
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 01:57, 02 December 20
Hi ikonsgr


PM Sent


Thanks for all your work


Keep Safe


Ray
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: VintageAdvantage on 17:35, 02 December 20
This is brilliant and a great example of what can be done if the MCU is fast enough - everything that requires extra glue logic chips for address decoding with slower MCUs can just be done in software with all these extra MHz's. Did you program the firmware in ASM or C? Good choice of the MCU.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 18:36, 02 December 20
Quote from: ikonsgr on 21:47, 01 December 20We already discussed (https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/universal-serial-interface-for-amstrad-cpc/msg190714/#msg190714) that, and i believe  that  Vortex will be directly supported too!Well, if you want to have amsdos and X-DDOS emulation, tell me which one of the X-DDOS ROM file (https://www.cpcwiki.eu/index.php/X-DDOS)you want, and i'll "custom" replace parados with it, for your boards! ;-)

Thanks a lot for your answer. Sorry, I don't know the usifac 2 as well as you. So don't bother if I ask something twice. If Vortex FDC works, this will be great. I would volunteer for testing if you want.

About the X-DDOS ROM... the best one is attached to this post. See below.



Can we burn the chip on the card by myself to alter the ROM content? Maybe this would make things more easy for you
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 19:20, 02 December 20
Quote from: VintageAdvantage on 17:35, 02 December 20
This is brilliant and a great example of what can be done if the MCU is fast enough - everything that requires extra glue logic chips for address decoding with slower MCUs can just be done in software with all these extra MHz's. Did you program the firmware in ASM or C? Good choice of the MCU.

Well, actually the extra logic needed for the required address bus and signal decoding, wasn't done in software at all (even at that speed, analyzing the required address bits and Cpu signals in software loops, would affect seriously responce and speed).
Instead i use an extra  feature of these Microcontrollers called "Configurable Logic Cells" or CLC's.
These are small programmable logic modules where you can assign type of logic (AND OR gates, Flip-Flops etc,and even combination of them), and set for, up to 4 inputs and an output. When module is activated (which can be done "on the fly" in microcontroller program) it will act like a real logic chip, e.g. have INSTANT responce on input signal changes!  :)
So,i design separate logic cell modules to accommodate various functions, like when Amstrad is addressed to Serial Port or Floppy disk controller,or when it reads upper rom or when gate array selects rom number (e.g. an out &DF00,x is sent from Gate Array chip). All in all, i needed to design 5 different logic modules, 4 for the above functions, and one "master" module ,that take the outputs of the other modules and gives a single ouput that pauses Amstrad (ready signal forced to '0') and enables Microcontroller program.
By doing that, the only thing that needs to run constantly on the PIC microcontroller, is a small loop for checking the output of master module, which can be done VERY fast, every ~0.15 usec! ;-)
I use cow basic (http://gcbasic.sourceforge.net/Typesetter/index.php/Home) as main tool for PIC program developing, which produce REALLY good and optimized asm code!  ;)
And finally, for anyone interested, you can find the assembly code for the main USIfAC II ROM, which holds the code for the dozens of  RSX commands ,in the attached file (this can also be very helpful for anyone wants to use the CH376 USB host module, as the documentation was not very good, it took me A LOT of testing and effort to finally make it work as it should...  :) ).
The binary of this code is placed inside a table into PIC's program.
I also used a "trick": When Amstrad reads from USIfAC II Rom and code reaches specific addresses,it jumps to start reading from first byte @&C000,while at the same time, Microcontroller program changes table to other tables (that hold large utlitites or the 3 games included). By doing that,i've managed to fit ~80kb of data into a 16kb address space of a single upper rom!
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: VintageAdvantage on 19:41, 02 December 20
Quote from: ikonsgr on 19:20, 02 December 20
These are small programmable logic modules where you can assign type of logic (AND OR gates, Flip-Flops etc,and even combination of them), and set for, up to 4 inputs and an output. When module is activated (which can be done "on the fly" in microcontroller program) it will act like a real logic chip, e.g. have INSTANT responce on input signal changes! 

That is interesting. How do you program these? Is that done from the MPLAB Microchip IDE?
And the main firmware is in BASIC? Wow! I should switch over to PICs...

So this is combinational logic only it seems. No Flipflops or Latches in the logic cells possible? It seems you still need to pause the Z80 via pulling READY to not "miss" the databus... correct?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 19:43, 02 December 20
Quote from: GUNHED on 18:36, 02 December 20

Thanks a lot for your answer. Sorry, I don't know the usifac 2 as well as you. So don't bother if I ask something twice.
No bother at all my friend! I didn't remember the details too, but i remembered we had discussed the matter a few months ago, so i've made a quick search and gave you the link directly!  ;)

Quote from: GUNHED on 18:36, 02 December 20
About the X-DDOS ROM... the best one is attached to this post. See below.[/font]
Can we burn the chip on the card by myself to alter the ROM content? Maybe this would make things more easy for you

My friend, changing parados to X-DDOS rom, is half a minute work: Just convert the binary to a large pile of numbers with commas (i've already developed such a utility and used it all the time) ,and copy it into PIC's program in place of PARADOS table!  ;) 
If you have a PICKIT3 i can give you the custom HEX file with X-DDOS and burn it yourself easily, this time i add an ICSP connector to the board, so you can flash PIC directly on board!  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 19:59, 02 December 20
Oh, the PIC is too new for my Vspeed Stager (2015). Maybe I can get a software update for it.


Do you have the ParaDOS at position 7 like the Amsdos? In this case I wouldn't need XDDOS. Need to read the USIfAC manual again...


Cant't wait to use it to emulate an real FDC.  :) :) :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 20:08, 02 December 20
Quote from: VintageAdvantage on 19:41, 02 December 20
That is interesting. How do you program these? Is that done from the MPLAB Microchip IDE?
Yes, these need to be configured through MPLAB's MCC (MPLAB Code Configurator),then i export the configuration file for each CLC and place it into Cow basic's source code, once you learn to do it it's rather easy task.

Quote from: VintageAdvantage on 19:41, 02 December 20
And the main firmware is in BASIC? Wow! I should switch over to PICs...
Yes,the source code for PIC microcontroller was made using COW Basic as i already told you. But the compiler produces a very good and optimized assembly code!
It's really a very good tool, which makes programming 8bit PIC's (especially for large complex projects as this one) a much easier and enjoyable task!  :)

Quote from: VintageAdvantage on 19:41, 02 December 20
So this is combinational logic only it seems. No Flipflops or Latches in the logic cells possible?
Well, not exactly. This is taken from PIC 18F47Q10 data sheet:
Possible configurations include:
• Combinatorial Logic:
– AND
– NAND
– AND-OR
– AND-OR-INVERT
– OR-XOR
– OR-XNOR
• Latches:
– S-R
– Clocked D with Set and Reset
– Transparent D with Set and Reset
– Clocked J-K with Reset


And there are 8 CLC's in total, enough to develop quite complex logic, don't you think?  :)
Practically it's like having a small CLPD or PAL inside Pic!  ;)

Quote from: VintageAdvantage on 19:41, 02 December 20It seems you still need to pause the Z80 via pulling READY to not "miss" the databus... correct?
Well since most of the tasks,when interface is enabled, usually need some microseconds, Amstrad must be paused.But the good thing is that the procedure of unpausing amstrad and unlatching data bus (after finishing the job),is made in "real time" without any added delays (like with previous usifac). And this is where the extra speed becasue of running at 64Mhz, really helped!  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 20:24, 02 December 20
Quote from: GUNHED on 19:59, 02 December 20
Oh, the PIC is too new for my Vspeed Stager (2015). Maybe I can get a software update for it.
Do you have the ParaDOS at position 7 like the Amsdos? In this case I wouldn't need XDDOS. Need to read the USIfAC manual again...
Cant't wait to use it to emulate an real FDC.  :) :) :)
Well, yes i suppose it does. If you give "|DOS,2" to select Parados for emulation, and then "|464" command, Amstrad will reset (in this state ,you can't use any RSX commands as upper rom 7 is exclusively points to either AMsods or Parados emulation tables) ,and any rom read from Upper ROM 7 will be done from Parados table inside PIC's code!
I could even run the parados utility program by giving |DRIVE, but of course, disk drive doesn't work. In this special mode, you can only access the dsk image you have previously selected.
I named this function |464 because its main purpose is to give a cpc464 the ability to access dsk images. And in order to do that, you need to "replace"-emulate both missing 765FDC and AMsods/parados rom chips. However, on Amstrad cpc664/6128 ,because Amsdos rom already exists, you only need to emulate 765FDC ("|FDC" command), in order to gain access on a dsk image . This offers speed (responce is a bit faster than using a real gotek/disk drive)  and you can also use all RSX commands too! What i found out though,is that you can also use this special mode for 464, with a cpc6128 too, in order to have access to parados dsk images (i demonstrate this in the presentation video too)! It's like having a rom switcher that provides both amsdos and parados!  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 20:54, 04 December 20
I took a look at the snapshot sna file structure (http://cpctech.cpcwiki.de/docs/snapshot.html), that some noted before, and i think it might be not too difficult to develop a routine for using them with Usifac II too.
But, as i never got involved with snapshots, and before i start, i would like to ask some things first:

- Is the ability to use sna files on real CPC, something useful for the average user or it's more of a tool, addressed to the advanced user/developer/programmer?

- I've noticed in sna archive  (https://www.cpcwiki.eu/index.php/Snapshot_Archive) that almost all snapshots are for CPC464. Does this mean, that their main usefulness concerns CPC464? And is this because quite a few games found in dsk images can't be loaded on a CPC464? (i've noticed this while testing usifac ii on CPC 464 too, some games ,for example Cauldron II or ikari warriors, couldn't load on CPC 464 , giving error messages or hang up/crash, while others, i had to "tamper" the basic loader listing to remove any "CPC6128" only commands they have)

-On the technical side, i suppose there must be a specific way to properly restore all the registers, counters and interrupts apart from memory dump. Can someone give me a rough "walkthrough" of how exactly i will do that? (i have a rough idea of how to restore registers from various chips using proper OUT commands (http://www.cpctech.org.uk/docs/iopord.html) but what about restoring interrupts or special counters of CRTC? And what about the order of restoring?)

- Finally, is there a way to create a snapshot on a real amstrad apart from using multiface II (although i'm not quite sure that snapshot files taken with multiface ii are the same as sna files...)? And how exactly could someone do that? Maybe activating NMI (non maskable interrupt) on Z80, and placing @&0066 RAM address, an RST3 call to a routine?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Gryzor on 21:00, 04 December 20
As a simple user I'd find snapshot support useful for those programs that refuse to load, for whatever reasons, from the device...
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 21:40, 04 December 20
Quote from: Gryzor on 21:00, 04 December 20
As a simple user I'd find snapshot support useful for those programs that refuse to load, for whatever reasons, from the device...

From the 100's of games/programs i've tested so far, the only ones i couldn't run was:
- Batman for ever demo single disk (gave me a "wrong disk configuration", but it works from normal 180kb image file)
- R-Type 128, at some point stops loading, (this was impossible for me to fix, what ever i tried... :( )
- Dragon Ninja, original, crashed after loading (but the cracked version works fine  ;D )

This means that,statistically, you can probably load, either directly from files or dsk images, more than 99% of existed games/programs.
So, if the only practical use of snapshot is a way of loading games that refuse to load, i don't think it would be very useful for USIfAC II...  ::)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: XeNoMoRPH on 08:39, 05 December 20
@ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541) , with http://cngsoft.no-ip.org/cpcec.htm , takes custom snapshots of used memory: automatically detects if the first 64k is enough.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 09:05, 05 December 20
Quote from: XeNoMoRPH on 08:39, 05 December 20
@ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541) , with http://cngsoft.no-ip.org/cpcec.htm , takes custom snapshots of used memory: automatically detects if the first 64k is enough.

Ok,but i was talking of taking snapshots from a real CPC not  from an emulator.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Gryzor on 11:01, 05 December 20
If compatibility is so high then I guess it's a small luxury😊

Of course hunting for a version that will work is a waste of time, but now we're talking first world problems😁
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Takis Kalatzis on 15:18, 06 December 20

First of all, congratulations for your excellent work regarding this board! It looks like the most straightforward way to have your entire collection at one USB stick and run everything from there!

As a happy owner of the excellent Duke's M4 board, I have some questions regarding USifAC II.


1. Since M4 has already the ability to load games (either from files or from .DSK), what are the benefits of running games/programs through USifAC? I guess the loading time will be faster, but will I be able to run programs that are not cracked? For example, I have not been able to run "The Pawn" through M4 in whatever version I tried.


2. Shall I need a Mother X4 board (or similar) in order to have both M4 and USifAC connected at the same time? My understanding is that they both use CPC's expansion port (and for those who have Mother X4: can I connect an M4 with an Edge Adapter directly on Mother X4 or will I need another cable/adapter?)


Keep up the good work!


Takis
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 20:51, 06 December 20
Quote from: Takis Kalatzis on 15:18, 06 December 20
1. Since M4 has already the ability to load games (either from files or from .DSK), what are the benefits of running games/programs through USifAC? I guess the loading time will be faster, but will I be able to run programs that are not cracked? For example, I have not been able to run "The Pawn" through M4 in whatever version I tried.

Well,i would say that, the most obvious difference is COST! USIfAC II is a LOT cheaper than a M4 board (~less than half the price)!  ;D
Also,i think that M4 doesn't offer the "direct mode" to load files directly from a usb flash drive instead from image containers, at least not at such great speeds of ~20kb/sec. (false assumption... :) )
Of course, M4 is a much more  powerful and modern/proffesional board (it uses very powerful ARM 32bit MCU and smd chips), and also, it's been developed for years ,offering many extra tools and functionality. USIfAC II it's more of a hobbyist "low budget" board. But if you see it from the "average Amstrad user" perspective, where the main thing they want, is an easy, fast and cheap way to load games, USIfAC II might be the best "Value for money" choice for that!  ;)
Especially for CPC 464 users, i think it's BY FAR the most affordable way to load easy and fast games compared to everything else on the market.

Quote from: Takis Kalatzis on 15:18, 06 December 20
2. Shall I need a Mother X4 board (or similar) in order to have both M4 and USifAC connected at the same time? My understanding is that they both use CPC's expansion port (and for those who have Mother X4: can I connect an M4 with an Edge Adapter directly on Mother X4 or will I need another cable/adapter?)
Keep up the good work!
Takis

Well,i suppose you could do that, but if you already have a M4 board, i don't find any reason for having a USIfAC II,unless you are an Amstrad collector and you want to have all existed hardware ...
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 21:18, 06 December 20
Quote from: Takis Kalatzis on 15:18, 06 December 20
I have not been able to run "The Pawn" through M4 in whatever version I tried.

You mean this (https://www.mobygames.com/game/cpc/pawn) game?
I found it in my collection, this is a 2 dsk image game, so you need a way to "change disks" in order to load it.
I don't know if you can change "on the fly" mounted images with M4, but currently you can't do that with USIfAC II. BUT, i happen to be in a process of developing such an ability for a future version (where you will be able to mount up to 3 dsk images, and "round" select them "on the fly" by pressing a small button like the one i have for RESET  :)) and i gave it a try. Game loaded just fine  ;D  (i've also test it with XYPHOBES (a 3 dsk image game!), Savage, OUT RUN europa and turbo out run, all 2 dsk image games, and also they seem to load fine!). Of course, only a very small portion of  games is more than a dsk image in size, and most of them ,(especially recent games)you can find them in  "big" single dsk images too (like the very good adventure "orion prime", which i've played it using a single 800kb image, instead of having 4 "normal" images), which USIfAC II also supports.
All in all, compatibility seems to be very good, out of 100's of games/demos i've tried only a few didn't seem to load. But even for these games you can usually find them in cracked versions which most probable will work!  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Duke on 22:34, 06 December 20
Quote from: ikonsgr on 20:51, 06 December 20
Also,i think that M4 doesn't offer the "direct mode" to load files directly from a usb flash drive instead from image containers, at least not at such great speeds of ~20kb/sec.

Quote
Well,i suppose you could do that, but if you already have a M4 board, i don't find any reason for having a USIfAC II, unless,perhaps, you want to load games even faster! 

Well you are wrong.
Just for the kicks I quickly wrote a simple basic test to measure the speed of accessing the microSD card via firmware on M4 board.
The speed after a 4 minute run is around 100 KB/s.

Unless my program is completely wrong, you could try it on your device aswell:

10 MEMORY &1FFF     
20 MODE 2
30 u = TIME
40 t = 0
50 a = TIME
60 FOR i=1 TO 10
70 LOAD"32KB_BLK.BIN",&2000
80 t=t+32
90 NEXT
100 b = TIME
110 PRINT 320/((b-a)/300);" KB/s - total : ",t;" KB/", (TIME-u)/300;" Sec"
120 GOTO 50

First save a 32KB block, ie. like this save"32KB_BLK.BIN",b,&2000,&8000
And you may want to start a timer next to it in case you have any interrupt disabling (I used my phone and ran the test for 4 minutes).

Also it could be much faster written in assembler and doing direct access. The microSD on M4 board is connected via SDIO 4 bit, its very fast if the card allows it ;)

Other than that. Congrats on your device, it looks promising - good job :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 01:11, 07 December 20
Quote from: Duke on 22:34, 06 December 20
Well you are wrong.
Just for the kicks I quickly wrote a simple basic test to measure the speed of accessing the microSD card via firmware on M4 board.
The speed after a 4 minute run is around 100 KB/s.
Unless my program is completely wrong, you could try it on your device aswell:
10 MEMORY &1FFF     
20 MODE 2
30 u = TIME
40 t = 0
50 a = TIME
60 FOR i=1 TO 10
70 LOAD"32KB_BLK.BIN",&2000
80 t=t+32
90 NEXT
100 b = TIME
110 PRINT 320/((b-a)/300);" KB/s - total : ",t;" KB/", (TIME-u)/300;" Sec"
120 GOTO 50

First save a 32KB block, ie. like this save"32KB_BLK.BIN",b,&2000,&8000
And you may want to start a timer next to it in case you have any interrupt disabling (I used my phone and ran the test for 4 minutes).

Also it could be much faster written in assembler and doing direct access. The microSD on M4 board is connected via SDIO 4 bit, its very fast if the card allows it ;)

Other than that. Congrats on your device, it looks promising - good job :)

100kb/sec? Wow!  :o  Although it  seems a bit... "too much",i mean, even copying a memory block in Amstrad's RAM  can't be faster than ~60-65kb/sec.... Unless you are using MCU's internal RAM and not Amstrad's ram.... ::)
Anyway, i would be surprised if your 32bit ARM "monster" with ~200MIPS "horse power", couldn't do less than that and be..."defeated" by my "puny" 8bit PIC, giving "only" 16MIPS.... :)

Bur since you got bother answering my ...."challenge"  :), perhaps you could clear up some things about M4:

- Apart from the above speed test, can M4 also run games/programs directly from files at such speeds? Because the ~20kb/sec USIfAC II can achieve,  is not just a speed test, but the ACTUAL average loading speed of REAL games!

- Does M4 is able to also take snapshots or only load ones? And could you give some details on how exactly you do that? (i never got involved with snapshots, so i would appreciate any help on that)

- Can M4 mount more than one dsk images and somehow select them "on the fly", for supporting "in game" disk (image) swapping? (i'm experimenting on that too with USIfAC II)

- Does M4 support dsk image access of large non AMSDOS formats, like the various  dual head and/or 80tracks PARADOS formats of up to 800kb?

Thanks again for looking at my "humble" project "master" Duke!   ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Duke on 02:40, 07 December 20
Quote from: ikonsgr on 01:11, 07 December 20
100kb/sec? Wow!  :o  Although it  seems a bit... "too much",i mean, even copying a memory block in Amstrad's RAM  can't be faster than ~60-65kb/sec.... Unless you are using MCU's internal RAM and not Amstrad's ram.... ::)
Actually as far as I remember we can move around 4KB of data per frame using ldi/ldir/stack on CPC, so that would amount to roughly 200 KB/s.

Quote
- Apart from the above speed test, can M4 also run games/programs directly from files at such speeds? Because the ~20kb/sec USIfAC II can achieve,  is not just a speed test, but the ACTUAL average loading speed of REAL games!
Yes, of course, there really isnt any difference.
Quote
- Does M4 is able to also take snapshots or only load ones? And could you give some details on how exactly you do that? (i never got involved with snapshots, so i would appreciate any help on that)
Yes, it can take snapshots via the HACK menu... The HACK menu source code is available here, if it can be of any help:
https://github.com/M4Duke/m4hackmenu (https://github.com/M4Duke/m4hackmenu)

Quote
- Can M4 mount more than one dsk images and somehow select them "on the fly", for supporting "in game" disk (image) swapping? (i'm experimenting on that too with USIfAC II)
You can change .dsk´s using the web-interface. An option to do it via hack menu was planned...

Quote
- Does M4 support dsk image access of large non AMSDOS formats, like the various  dual head and/or 80tracks PARADOS formats of up to 800kb?
Yes it does. Ie. ROMDOS (D1/D2/D10/D20/D40) and PARADOS 80.

And lets not derail your thread even further, it should not be about M4 but your project, I only had to correct the incorrect assumptions :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 02:55, 07 December 20
Quote from: Duke on 02:40, 07 December 20
Actually as far as I remember we can move around 4KB of data per frame using ldi/ldir/stack on CPC, so that would amount to roughly 200 KB/s.
Do you have any video of loading a game directly from files? I would LOVE to see running a game in... half a second!  :)

Quote from: Duke on 02:40, 07 December 20
Yes, it can take snapshots via the HACK menu... The HACK menu source code is available here, if it can be of any help:
https://github.com/M4Duke/m4hackmenu (https://github.com/M4Duke/m4hackmenu)
That's really could be great help! Thanks a lot for letting me know! One last question: to enable my "save snapshot" routine installed in interface's rom, i should place at boot (probable in the initialization routine of usifac's rom) an RST3 command @&66 ram address, so when NMI is activated, execution will  jump to &66 ,and from there, call my routine. Is this the correct approach?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Duke on 07:55, 07 December 20
Quote from: ikonsgr on 02:55, 07 December 20
Do you have any video of loading a game directly from files? I would LOVE to see running a game in... half a second!  :)
Sure, why not..
First example it loads a 38KB binary (zorro).
2nd example, I run Commando, save a 64 KB snapshot and reload it.
Both take less than 1 second.
Here you go:
https://www.youtube.com/watch?v=8A7eV4mu6SY (https://www.youtube.com/watch?v=8A7eV4mu6SY)

Quote
That's really could be great help! Thanks a lot for letting me know! One last question: to enable my "save snapshot" routine installed in interface's rom, i should place at boot (probable in the initialization routine of usifac's rom) an RST3 command @&66 ram address, so when NMI is activated, execution will  jump to &66 ,and from there, call my routine. Is this the correct approach?
Yes you will need to have your NMI jump at &66, best is to map the area with your own lower-rom replacement.
Prior to that you will need to store the hardware regs so they can be retrieved once you enter your nmi rom/code.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 08:37, 07 December 20
@Duke (https://www.cpcwiki.eu/forum/index.php?action=profile;u=1624)


Unable to Play Video


"Private". ??


Thanks


Keep Safe


Ray
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Duke on 09:02, 07 December 20
Quote from: Audronic on 08:37, 07 December 20
Unable to Play Video
Oups, fixed now I hope. Thanks.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 09:30, 07 December 20
@Duke (https://www.cpcwiki.eu/forum/index.php?action=profile;u=1624)


Ok Thanks


Keep Safe


Ray

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 20:00, 07 December 20
Quote from: ikonsgr on 20:51, 06 December 20
Well,i suppose you could do that, but if you already have a M4 board, i don't find any reason for having a USIfAC II,unless you are an Amstrad collector and you want to have all existed hardware ...
Well, ...
- Real fast serial interface
- FDC emulation (of Vortex FDC too!!!)
- And if you want, to learn how to work with an external CPU
- Also much more I still don't know

Even if most CPC users have an FDC, the possibility of FDC hardware emulation is IMHO super awesome. Imagine for example how easy it will be to copy an 0,7 MB format DSK to a real 3.5" disc and vice versa.
Also backup copies of real 0.7 MB format discs to DSK will be super easy now.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 20:19, 07 December 20
Quote from: Duke on 02:40, 07 December 20
Yes it does. Ie. ROMDOS (D1/D2/D10/D20/D40) and PARADOS 80.
Please - everybody - consider to also support the 0,7 MB Vortex format. In Gemany (at least) it still is/was the 80 track standard format for floppy discs. The big companies like Dobbertin, Vortex ... all did support it.  :) :) :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 20:20, 07 December 20
Quote from: GUNHED on 20:00, 07 December 20
Well, ...
- Real fast serial interface
- FDC emulation (of Vortex FDC too!!!)
- And if you want, to learn how to work with an external CPU
- Also much more I still don't know
Well, regarding speeds, M4 board is undoubtly the champion!  :)
But, as USIfAC II uses an 8bit MCU and DIP socket, i would say it seems a lot more "close" and familiar to an amstrad cpc.
USIfAC II board looks like a "physical" extension to Amstrd cpc motherboard, while a M4 board looks more like a... BORG implant on Amstrad, from 24th century!  :P

Quote from: GUNHED on 20:00, 07 December 20
Even if most CPC users have an FDC, the possibility of FDC hardware emulation is IMHO super awesome. Imagine for example how easy it will be to copy an 0,7 MB format DSK to a real 3.5" disc and vice versa.
Also backup copies of real 0.7 MB format discs to DSK will be super easy now.

If anyone want to try to develop such "low level" disk routines based on the fdc emulation, it would be awesome! For the moment, i only have the utility developed for the previous USIfAC e.g. transfer only amsdos dsk images to floppy disks from a pc.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 20:23, 07 December 20
Quote from: GUNHED on 20:19, 07 December 20
Please - everybody - consider to also support the 0,7 MB Vortex format. In Gemany (at least) it still is/was the 80 track standard format for floppy discs. The big companies like Dobbertin, Vortex ... all did support it.  :) :) :)

If you want, give me me a couple of such images, and i'll try them on USIfAC II!  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 20:30, 07 December 20
Quote from: ikonsgr on 20:23, 07 December 20
If you want, give me me a couple of such images, and i'll try them on USIfAC II!  ;)
Great, thanks. At the moment I'm far off home, but you find plenty of them at www.futureos.de (http://www.futureos.de)
Because FutureOS does support it. All 0.7 MB DSKs there are in Vortex format

From memory:
- 80 tracks
- two sides
- First two tracks are system tracks
- The directory is 4 KB and has space for 128 DIR entries
- Block size is 4 KB
- Space free is 704 KB
- 9 sectors per track (on each side)
- Sector numbers are 1 to 9
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 21:05, 07 December 20
Well,i've tried this: create a vortex 0.7mb image using cpcdiskxp, copy it to a usb stick and then mount it on usifac ii. I select vortex image,then PARADOS emulation and reset. At this "dual emulation mode" (where both FDC and DOS ROM are emulated at the same time), i was able to cat vortex image and i also tried to save a sceen dump and then load it from it, everything was done fine! I suppose this means you can access 0.7mb vortex images through usifac ii and parados emulation.
Only draw back, is a bit slow because of the dual emulation mode,  screen dump took ~7 sec to load from vortex image....
BUT, if you have a real VORTEX ROM installed on your Amstrad, you should be able to use vortex images directly (giving the usual: "|FDC" command) at "full speed"!  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: remax on 22:16, 07 December 20
Quote from: Duke on 07:55, 07 December 20
Sure, why not..
First example it loads a 38KB binary (zorro).
2nd example, I run Commando, save a 64 KB snapshot and reload it.
Both take less than 1 second.
Here you go:
https://www.youtube.com/watch?v=8A7eV4mu6SY (https://www.youtube.com/watch?v=8A7eV4mu6SY)


Well you are obviously using an emulator !  ;D
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: reidrac on 11:55, 08 December 20
I got people to ask me to put a pause in the loading screen because the games load so fast from M4 that they can't see it  :laugh:

I already have an M4 with a 3D printed enclosure (not perfect, but close!), but this project looks fantastic!

I know it is hard for one single person to have all the skills, enough that people like Duke, ikonsgr, ToTo, etc gift us with these devices for our CPCs; but I was wondering if it would be possible to get an enclosure designed for this. I guess it is a more general thought, independently of the project (and only if it makes sense, really).

Having small children at home, I'm not a fan of having naked PCBs sticking out of my 8-bit machines.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 13:08, 08 December 20
Ok, but could you please stop referring and comment about M4 board on this thread? 
I'm afraid it might transform it, to a... M4-BORG drone, like it did with Amstrad CPC!

We are the M4-Board....
Lower your disks and surrender your Amstrad.....
We will add it's technological distinctiveness to our own.....
Your Amstrad will adapt to service M4-Board...

Resistance is futile


  :laugh:  :laugh: :laugh: :laugh: :laugh:

btw,that could be a great advertise for M4 board, don't you think?  :P
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: remax on 13:24, 08 December 20
My M4 Board is looking for someone named "Sarah Connor", never heard of her...
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Gryzor on 13:26, 08 December 20
Does the M4 work with an Atari Portfolio?

Ok, ok, enough off topic really, let's get back on track :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 22:56, 08 December 20
Great to hear that Vortex format works. Yes, ParaDOS can work with it, but it needs to be switched on in the 'Format Menu', or use VaraDOS (that's ParaDOS with switched ON Vortex format).


All the 664, 6128 and 464+DDI1 already have a floppy, but the FDC emulation can be used by them, so they can have some drives more. Great thing!  :) :) :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Sykobee (Briggsy) on 11:27, 09 December 20
Can this work alongside an Albireo, and given the Albireo+Albidos has some SD/USB support at the filesystem level is this card useful for providing .dsk image support/fdc emulation?


I also have a DDI-4, I feel i'll end up with too many stacked up AMSDOS replacements.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 19:13, 12 December 20
I just want to let you know that i have open a new topic (https://www.cpcwiki.eu/forum/games/how-about-making-a-'worth-to-play'-collection-of-amstrad-games/msg195289/#msg195289), in order to update the public list (https://www.dropbox.com/sh/hzp3a4b7fktcn8c/AAAj2U8otKw26j-chnd8uUxla?dl=0)  of tested games with more "Worth to play" games (i thought it would be a great idea,instead of having the usual BULKY and hard to manage HUGE lists of 1000's of games, to create a rather smaller compilation of "worth to play" games), so feel free to go there and suggest any game you would like to add!
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Gryzor on 20:04, 12 December 20
Great stuff!

Perhaps this would be more suitable for the wiki proper?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: slugman on 12:10, 14 December 20
Hi Ikonsgr, I received the board, thanks!

Is it possible to run games or apps directly from .dsk files stored on the usb key?, I looked at the pdf manual but I don't see if it's possible.

(https://i.ibb.co/qrkhvhN/IMG-20201214-120500.jpg) (https://ibb.co/qrkhvhN)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 17:01, 14 December 20
Quote from: slugman on 12:10, 14 December 20
Hi Ikonsgr, I received the board, thanks!

Is it possible to run games or apps directly from .dsk files stored on the usb key?, I looked at the pdf manual but I don't see if it's possible.

(https://i.ibb.co/qrkhvhN/IMG-20201214-120500.jpg) (https://ibb.co/qrkhvhN)

Yes,it is. First you have to select an image by giving: "|MG,"image name"  (the "|CD" command you where using in the screenshot, is for changing directory, and that's why you got the error message)
Then, you only have to enable the floppy disc controller, by giving: "|FDC"*
From now on, any cat,load,run,save etc command you give, will access the selected image! 
And you can still use rsx commands, so you can still change directory, or catalogue the usb stick and by giving another "|MG" command, select another dsk image directly! ;)
Note also, that if you reset amstrad using the RESET button on the board, you don't need to select again the disk image, as board will "remember" the last image used!
Just give |USB and then |FDC and you can access again the previous selected image.
Finally,by giving: |HELP  you can have a short description of all available RSX commands.

* This is needed, because the default operation is the "Direct file" mode,which is enabled with"|EN" command (it's done automatically with |USB command). And with "|STAT" you can see the currently selected mode.Also "|FDC" and "|USB" commands are used for both enable/disable the fdc controller and usb host module, e.g. if your in "FDC mode" and give "|FDC" it will be disabled, giving again "|FDC" will enable it again.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 17:27, 14 December 20
And don't forget that if you have a lot of image files in your usb stick, you can filter the catalogues, by using argument with |CAT command.
For example,if you want to get a list of images starting from "IK" you just give: |CAT,"IK"!  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Gryzor on 17:44, 14 December 20
Does the on board software have any sort of help?

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 18:10, 14 December 20
Yes,give "|HELP" and you will get a list of all rsx commands with short descriptions and usage!  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 22:23, 14 December 20
Please find attached the VaraDOS for CPC and Plus computers.
This is the newest ParaDOS with Vortex formats enabled by default.
Feel free to use it or put it into the Wiki.


Quote from: ikonsgr on 18:10, 14 December 20Yes,give "|HELP" and you will get a list of all rsx commands with short descriptions and usage!  ;)

Maybe this can be renamed to "|UHELP", because lot's of ROMs already use the "|HELP" command.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 23:08, 14 December 20
@GUNHED (https://www.cpcwiki.eu/forum/index.php?action=profile;u=2029)


Perhaps the help could be " |Vhelp " to indicate VaraDos


Keep Safe


Merry Christmas


Ray
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 23:11, 14 December 20
Quote from: Audronic on 23:08, 14 December 20
@GUNHED (https://www.cpcwiki.eu/forum/index.php?action=profile;u=2029)
Perhaps the help could be " |Vhelp " to indicate VaraDos
Keep Safe
Merry Christmas
Ray
But it's purpose it to indicate USIfAC II
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 23:13, 14 December 20
@GUNHED (https://www.cpcwiki.eu/forum/index.php?action=profile;u=2029)


Ok Just a thought.


Keep Safe


Merry Christmas


Ray
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 00:12, 15 December 20
Quote from: GUNHED on 22:23, 14 December 20
Please find attached the VaraDOS for CPC and Plus computers.
This is the newest ParaDOS with Vortex formats enabled by default.
Feel free to use it or put it into the Wiki.
Ok, i'll integrate this varados version and give it a try. I've already tested the newer PARADOS 1.2 from 2015 and it worked fine (although 1.2+ is not, i suppose because this was meant for plus models  ::) )

Quote from: GUNHED on 22:23, 14 December 20

Maybe this can be renamed to "|UHELP", because lot's of ROMs already use the "|HELP" command.

Hmmm, you think so? I wonder what will happen if there are 2 expansions having the same HELP rsx command. What will happen if you give |HELP? I guess it will execute the command from the board with the greatest rom number? Btw, for added compatibility with other expansion cards, you can change the rom number of USIFAC II ,by giving a simple OUT &FBD2,x, so if any other card you might have, uses the default USIfAC II rom 5, you can easily change it to another. And this change will be permanent,  as it is stored in the integrated EEPROM of PIC MCU!  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 00:46, 15 December 20
Quote from: ikonsgr on 00:12, 15 December 20
Ok, i'll integrate this varados version and give it a try. I've already tested the newer PARADOS 1.2 from 2015 and it worked fine (although 1.2+ is not, i suppose because this was meant for plus models  ::) )
You're right, the + Version is for 6128 Plus only. The Varados equals the Parados 2015.

Quote from: ikonsgr on 00:12, 15 December 20
I wonder what will happen if there are 2 expansions having the same HELP rsx command. What will happen if you give |HELP? I guess it will execute the command from the board with the greatest rom number?  ;)
Actually the command it always take from the ROM with the smallest number, because it got initialized at last. To have different commands would be great, then the commands of all ROMs could be used. The !HELP command usually displays a list of ROMs or RSX of a rom when used with the parameter rom_number.
So !UHELP would be very helpful, because it's not part of any other ROM.

Quote from: ikonsgr on 00:12, 15 December 20
Btw, for added compatibility with other expansion cards, you can change the rom number of USIFAC II ,by giving a simple OUT &FBD2,x, so if any other card you might have, uses the default USIfAC II rom 5, you can easily change it to another. And this change will be permanent,  as it is stored in the integrated EEPROM of PIC MCU!  ;)
Ah, we can use OUT &FBD2,rom_number to set any ROM number. That's awesome!
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Gryzor on 16:23, 15 December 20
Quote from: ikonsgr on 18:10, 14 December 20
Yes,give "|HELP" and you will get a list of all rsx commands with short descriptions and usage!  ;)


Great stuff. Many times I've attached a peripheral I haven't touched in a while and I'm thinking "hm, must go to the PC and download a manual"... :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 17:52, 15 December 20
Quote from: GUNHED on 00:46, 15 December 20
Actually the command it always take from the ROM with the smallest number, because it got initialized at last.

Yeap, mea culpa!  :)  I knew that initialization rom walk starts from greatest rom number (7 for CPC464, 15 for CPC6128), but i didn't thought ,that for the KL FIND command, the opposite is true, thus rsx commands from last rom, would be the first to be searched!  :D
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 18:24, 15 December 20
Yes, that's unexpected. Firmware does go backwards.
Therefore the DOS ROM with the smallest number is always dominant.  :) :) :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 09:58, 24 December 20
I finally receive the new batch of usb host modules, so the "full pack" is available again! 
I've also made some optimization on the code of direct load/save routines, resulting in increased speed ~15-20%, up to ~23-24kb/sec! ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Gryzor on 10:00, 24 December 20
The way this goes if we wait a month or so it will boost the Z80 by 100% or something :D
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 20:04, 24 December 20
I made a quick comparison test, using MASK II disk image.
I remembered back from the 80's that this game took quite more time to load than most games of the era, as it used the hole 128k of memory, and loads ~125kb in total.
The 4 "candidates" was: 3" floppy disk, Gotek drive, Usifac ii with fdc emulation, and Usifac ii with direct file loading.
The results are:
Loading MASK II from 3" floppy disk: ~78seconds
Loading MASK II from Gotek drive: ~80seconds
Loading MASK II from USIfAC II using FDC emulation: ~32seconds
Loading MASK II from USIfAC II using direct file mode: less than 9seconds

Obviously floppy disk and gotek drive speeds are almost identical, but what it seems rather curious is the exceptional difference between these two and the FDC emulation.
Using the same disk image on the same usb stick as with gotek drive, USIfAC II FDC emulation is ~2.5times faster than gotek/disk drive and direct file loading almost 9 times faster! I knew from previous tests with many other games that FDC emulation is faster than a disk drive/gotek drive but the difference was ~10-20%,not... 250% faster!  :)
Although some delay due to head movements and disk motor setup times is expected, and also sectors on each track of the dsk image,are not interleaved (&C1, &C6,&C2etc) for faster loading but in sequential order (&c1,&c2,&c3 etc), still, such ENORMOUS difference is something i can't explain...
Any ideas?  ::)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 23:02, 24 December 20
Your FDC emualation seems to be a big gain. Can't wait to try it with FutureOS.  :) :) :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: teopl on 21:07, 27 December 20
Hello, I connected device like in the image and connected it to AMSDAP42 slot which is connected to my CPC6128+

I was able to type "|USB" and "|CAT" which gave me a list with .dsk files on usb.

Then I tried "|CD bubble.dsk" and that returned some error after which I restarted computer and device and tried many times to get it working again but it looks like it's not working anymore.

There are no lights on device, no message in the boot screen.

Is it possible that I broke it? (the reset and pause buttons do work)

(https://i.ibb.co/rFmDPHS/usifac2.jpg) (https://ibb.co/7jXscK5)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 01:32, 28 December 20
In order to use a dsk image, after giving the initial |USB command, you should:

- Select an image by giving: "|MG,"image name"  (the "|CD" command you where using , is for changing directory, and that's why you got the error message)
- Enable the floppy disc controller, by giving: "|FDC"
From now on, any cat,load,run,save command you give, will access the selected image!
And you can still use rsx commands, so you can still change directory, or catalogue the usb stick and by giving another "|MG" command, select another dsk image directly! ;)
Note also, that if you reset amstrad using the RESET button on the board, you don't need to select again the disk image, as board will "remember" the last image used!
Just give |USB and then |FDC and you can access again the previous selected image.
Finally,by giving: |HELP  you can have a short description of all available RSX commands.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: teopl on 23:41, 29 December 20
Quote from: ikonsgr on 01:32, 28 December 20In order to use a dsk image, after giving the initial |USB command, you should:

Thanks for the "|MG" command - I didn't use it but I can't use any command since the board acts as it is not connected (after the described steps in my previous post).

Is it possible that I "killed" the hardware or the firmware somehow as there are no lights on the device and no "usifac" written on boot?

Can I somehow re-upload firmware or test where is the problem?

Can I detect where is the issue - hardware or firmware? (I posted a picture showing how I connected the wires in my previous post)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 00:02, 30 December 20
Try to give: OUT &FBD2,5
This will reset USIfAC II to ROM 5 and you should see the "USIfAC II Enhanced" message, after resetting with button from the board.
You can also try: OUT &FBD1,30
This actually calls the status routine and it should retrurn characters which can be print on screen by using this small loop:
10 IF INP(&FBD1)=255 THEN PRINT CHR$(INP(&FBD0));:GOTO 10
If you get the status message on screen,this means that the MCU chip is ok.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 17:20, 08 January 21
I will send the next batch of boards early next week, including a new firmware update:

Update DSK image transfer function (RSX command:|DSK), you can now Copy DSK images to floppy disks from either a PC or usb stick (initial firmware supported  transfers only from PC)
-  Major code optimization in file access speeds on direct mode, resulting in ~20%-25% speed increase!
-  Further optimization in file loading code, witch offers ~2% extra loading speed increase!
-  Some other minor code optimizations which offer a small overall performance boost.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: XeNoMoRPH on 19:00, 08 January 21
It's possible to update firmware?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 19:32, 08 January 21
Quote from: XeNoMoRPH on 19:00, 08 January 21
It's possible to update firmware?

Yes, it is!
You will need a rather cheap PIC KIT 3 programmer (https://www.ebay.ie/sch/i.html?_from=R40&_trksid=p2334524.m570.l1313&_nkw=pickit+3+programmer&_sacat=0&LH_TitleDesc=0&_osacat=0&_odkw=pic+kit+32).
You plug the icsp connector from pickit3 to ICSP connector on the board (on some boards might need to solder the ICSP pins) or remove PIC chip from on-board socket, and place it on a zif socket.
Then, you can use the MPLAB IPE (https://www.microchip.com/en-us/development-tools-tools-and-software/embedded-software-center/mplab-integrated-programming-environment#), which is part of MPLAB IDE and you can download from here (https://www.microchip.com/content/dam/mchp/documents/DEV/ProductDocuments/SoftwareTools/mplabx-v5.45-windows-installer.exe), to re-program PIC.
I will attach the latest firmware (along with a quick DIY guide) on the beggining of the thread, for anyone who wants to do it!
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 22:20, 09 January 21
Another small ehancement: DSK image transfer routine from usb stick, now supports non amsdos formats too, but single side only. I've test it with a parados 80 image (80 tracks,10sectors/track giving ~400kb storage capacity), and worked fine!
I'm also thinking of the possibility to write even large dual side disk images, using "single head" amsdos routines. If you have a ribbon cable for the external 3.5" drive, that has a head selection switch, like the one i also make (https://www.ebay.ie/itm/272378426083), it should be possible to write the entire "head 0" side,then switch to other disk side (probably by prompting on screen), and write the entire "head 1" side...  ::)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 00:13, 11 January 21
I just finished developing and testing the (hopefully) final version of the DSK image transfer from usb device function.
So now, except from weird copy protected images, you should be able to copy to disk, almost any kind of dsk image!
It supports practically any format (DATA, SYSTEM, IBM, PARADOS etc), with any number of tracks (up to 80) and any sector size from 512byte up to 4096bytes.
And for the best part: it supports writing "dual head" images too! And all this, using only the on board Amsdos Rom! :)
Now, you may ask:"how can you write dual head images to disk, when amsdos support only "single side" writing"?
Well, as already noted, i've managed to do it, by using the head  switch on external drive ribbon cable mentioned before: First, by prompting a pause message to set head switch to "Head 1", then writing all  tracks on "head 1" side, then, prompt again for switching head/side and finally writing all tracks on "Head 0" side!
It took a little more than 2minutes to write a single 40tracks/dual head /10 sectors/track (~400kb in total) RTYPE 128 single image!
I also developed a "tweak" for the write order of sectors by applying interleave sector writing (according to format sector id's order, taken from dsk image for each track), resulting in rather fast writing of less than a minute (otherwise it needs ~95 seconds...) for the typical 180kb image. And this tweak applies, not only to "normal" DATA format 9sectors/track images, but also to any format type with either 9 sectors/track or 10sectors/track!  ;)
I think it's safe to say that this is "as good as you can get" using good old Amsdos!  :D
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 09:34, 11 January 21
And here is some "proof of concept":
[attach=1,msg196618]
[attach=2,msg196618]

It took ~4,5minutes, but even so, you can now transfer to disk a "huge" 800kb PARADOS D10 image to a single disk, using Amsdos (although you will need a PARADOS rom to access it...) ;D
But, even if you don't have a parados rom, it could be useful for copying to real disks any big "single disk"  game/demo, which is accesible using Amsdos too (for example, Rtype 128)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 10:51, 14 January 21
@ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541)


Hi John

This is just a thought that may be usefull ?

Is it possible to Identify that the USIfAC II is connected to a CPC464
So that it will automatically Do the equivalent of |464 and then do a reset ???
To save the operator from going through the setup requirements ??

Thanks
Keep Safe
Ray

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 17:56, 14 January 21
Unfortunately this can't be done. You see, CPC 464 doesn't have amsdos rom on board, so, after initial power up and initialization of ROMS, a reset is mandatory  in order to enable the direct file access mode routines (which "grab" the various Amsdos ROM 7, routines and redirect them to USIFAC II ROM).
BUT, the good thing is that, this "|464"+reset  procedure is needed ONLY at FIRST power up of your amstrad!
After that, you DON'T need to do it again.
You just reset your 464 by pressing reset button (or with a quick on/off  of power switch) and then you follow the "Standard" CPC 6128 procedure!
So in 2words, it's a 3seconds task, that needed to be done only once at initial power up of cpc 464, not much of an effort dont you think?  :)

Note also, that the same goes for accessing dks images on a  cpc 464: the lack of a 765 Floppy Disk controller, imposes the need of reset amstrad (to enable the 765 FDC emulation on USIFAC II) using the "|464" command.
Finally, the "|464" is needed on all models if you want to access a non amsdos image

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 23:21, 14 January 21
@ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541)

Ok Thanks for the information.

I will experiment with replacing the Version 1 Basic Rom with a Version 1.1 and see what happens

Have a Look Here :- https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/universal-serial-interface-for-amstrad-cpc/250/.

Keep Up the Good work.

Keep Safe

Ray
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: vasilisk on 19:55, 22 January 21
Quote from: ikonsgr on 21:40, 04 December 20
From the 100's of games/programs i've tested so far, the only ones i couldn't run was:
- Batman for ever demo single disk (gave me a "wrong disk configuration", but it works from normal 180kb image file)


You should ask @Rhino (https://www.cpcwiki.eu/forum/index.php?action=profile;u=174) what are the conditions for this message to appear. It may help solve future problems.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 21:14, 22 January 21
Thanks for the suggestion, i've already sent a pm!  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 19:21, 26 January 21
 After a little help from rhino (thanks for sharing the codes! ;)) and a bit study, i finally manage to load batman forever usign the large single disk image!
The problem was a little mess with physical and logical drive head selection. My code didn't distinguish between these two, and when the FDC command requests physical head 1 (the "HD" bit on the 2nd command byte) but logical head 0 (the 4th command byte), my emulation fetched data from physical head 0, thus the problem.
I have now fix this, although batman forever is the only known image that had problems with that.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 19:07, 31 January 21
 Ok,i found out that dual head images, although they seem to be written correctly on floppy disks (using the "head hack" i described earlier), and i was able to "CAT" them, there are in fact, loading problems, most probable because Amsdos routines can't manage tracks/sectors marked on Head=1, so, although i forced them (with the head select switch) to be written on the correct side of disk, they still have wrong head markings (head=0 instead of head=1).
So, finally, i manage to get rid of amsdos, and use custom fdc routines that can cope correctly with dual head images!
And now, you can use the |DSK command to directly transfer to disk (no "select head" prompt needed any more...), practically any format with any heads/tracks/sectors (except copyprotected images)!
I've already use it to tranfer succesfully:
- orion prime 800kb image,
- R-type128 400k dual head disk image (this one is the only that you couldn't load using FDC emulation too  ;) )
- 800kb parados 80tracks/dual head image
- 720kb pcw/+3dos and vortex images!
Of course,dual head images can be written only on a 3.5" disk drive, as 3" drives have only one head...  ;D

So,it seems that now, you will be able to use amstrad cpc to copy spectrum +3 and amstrad pcw images to floppy disks too!
For a typical 180kb cpc image ~55seconds is needed, where for larger images, time is proportinally longer, e.g. for ~400kb images 2x that time,  for 800kb images 4x that time.
Also, unusual tracks (e.g. without 9 or 10 sectors/track and 512byte/sector) will need extra time too.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: TotO on 09:12, 01 February 21
Great. Have you tried with the Phortem and Phx demo too?  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 21:22, 01 February 21
Quote from: TotO on 09:12, 01 February 21
Great. Have you tried with the Phortem and Phx demo too?  :)
I've tried both and they load just fine from usb stick using the FDC emulation.And also transfer to a 3.5" disk works too!  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: JimQML on 22:42, 09 February 21
Thank you for this nice device, I received it this january ! I've just tested it this evening but I can't manage to copy a file from a CPC disk to an USB key!
I tried this:
|USB
|2PC
then when I select a file and press return, the message:
Transfering myfile... appears at the bottom of the screen, but everything is frozen and then the file is created on the USB key but the file is empty (0 bytes)...
I tried with different USB keys from 16Gb to 1Gb... I tried to create smaller partitions from 250Mb to 10Mb (FAT) but none of these tries is working, the result is always the same: the file is created but everything freezes and the result file is empty !
Any clues to help me ?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: vasilisk on 22:08, 10 February 21
I tried the same as you and it succesfully copied the selected files in the usb stick
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: JimQML on 22:22, 10 February 21
ah ok  :o
What do you suggest ? Is it because I'm using a CPC 6128+ or because I'm not lucky with my USB keys and I should try others ?

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: vasilisk on 22:24, 10 February 21
Quote from: JimQML on 22:22, 10 February 21
ah ok  :o
What do you suggest ? Is it because I'm using a CPC 6128+ or because I'm not lucky with my USB keys and I should try others ?


I dont know. Only ikonsgr can answer that  ;D
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Skunkfish on 13:29, 12 February 21
I've not had much of a chance to play with my USIfAC II much - but I'm also having issues on my 6128 Plus with some random crashing....
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 20:16, 12 February 21
Unfortunately i don't own a 6128+ so no testing was made on that machine. Moreover, i don't know much about hardware/firmware differences and "peculiarities"  of "plus" machines, so, i'm afraid i can't provide any help with problems on "plus" machines...  ::)
BUT, what i DO know though, is that, at least "basic" functionality of loading games (either directly or form dsk images) seems to work on 6128+ too.  ;)

p.s: If you haven't done it, try to update the firmware (check 1st post of this thread), maybe this will help resolve the problem on 6128 plus.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: vasilisk on 22:00, 12 February 21
I tried something today, out of curiocity. I exported the files of random games (with managedsk) that consist of more than one 1 dsk. I put them all in a folder and run the game. To my surprise, I had partial success. When the game required to insert disc2 or side2, it bypassed it and continue. Needs testing though because games with hidden sectors or loaders etc are not read well by managedsk
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 01:02, 13 February 21
For that, i use CPCLOADER included in CPCGamesCD, as you can "Batch" extract 1000's of dsk images into separate folders in a few seconds!  :)
Unfortunately some multi dsk image games, are using custom sector/track loaders so there are no files to be extracted,thus you can't use the direct file loading method. Also, it's better to use separate folders for each multi dsk game to avoid conflicts in names etc.
Anyway, in then near future,i'm planing of Resolving the problem of how to load multi dsk image games, by adding on the board, a "hot dsk swap" button (similar to the reset button), and also, add multiple |MG commands (|MG2, |MG3 etc) in order to mount multiple dsk images (up to four). These images would  be "round" selected, "on the fly", by pressing the swap button! I've already test this, using a prototype board and seems to work very well! And using this method, you should be able to load multi dsk games that use sector loaders too! ;-)



Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: vasilisk on 10:57, 13 February 21
Quote from: ikonsgr on 01:02, 13 February 21Also, it's better to use separate folders for each multi dsk game to avoid conflicts in names etc.

Even if we do that, I dont think we "change" discs during game. Correct?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 11:10, 13 February 21
Changing actual disk images will be "literrally" done, using the swap button i mentined before.
But, in direct file loading method, there is no meaning of "change disks" ,since you get rid of the disk images and access files directly!  ;)
So, for now, you can try to extract all files from all dsk images of a multi-image game, into a single folder. Then you can try to run game as usual.
Of course this method has some restrictions:
- Game must use Amsdos FILE routines and not sector/track loaders
- File names in different dsk images should have different names (otherwise you will have conflicts when extracted on the same folder)
If game fulfills the above conditions, then it should run without problem, since game code will be able to find all required files directly from the folder!
If you are in a mood, you can try some and give us the results  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: XeNoMoRPH on 11:02, 25 February 21
Any new firmware uptades maybe ? hehe  :D
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 18:44, 28 February 21
Ok,i just upload a new firmware (_2b) which contains the updated |DSK command for writing any kind of image using custom floppy drive routines instead of Amsdos.
Also, this is how the new boards will be:
  [attach=1,msg198811]
As you can see,the usb host module is now soldered on the main board, which saves the need for extra wires and making the interface a neater, compact single board!  ;)
I'm also working on adding the ability to load snapshot files (|SNA command). As there are now more than 200 snapshots in the cpcwiki snapshot archive  (https://www.cpcwiki.eu/index.php/Snapshot_Archive), these can proove useful for CPC 464 users, as many games from dsk images, can't load on a CPC 464, so you can use a snapshot instead. Of course, there is another option to use directly files (like most games in this list (https://www.cpcwiki.eu/forum/games/how-about-making-a-'worth-to-play'-collection-of-amstrad-games/)), but it's good to have another alternative :-)


Btw, i'm still waitng for the new batches of usb host modules, but i believe i will have them pretty soon...
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: issalig on 18:29, 03 March 21
While I am waiting for my USIFAC, I am trying to understand how it works from the hardware side.It would be nice to have  a wiki on simple port expansion communication (but I have not found it, if I manage to get a clear idea, I can write an simple expansion card wiki)

Following explanations for expansion port communications from http://magic-cookie.co.uk/CPC/expport.html
I have seen that IOREQ, WR, RD lines are used to  communicate with the Z80.
Thus, writing on data port OUT &FBD0,x  should activate IOREQ and WR and place the bits in D0-D7?For the way back, INP(&FBD0) will check if RD activated from MCU and read D0-D7 ?

Maybe all these questions are solved in usifac code, don't know if it is available or not.

Sorry if this is not the appropriate thread for these questions, but I guess, here are the main experts.

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 20:25, 03 March 21
Check here:
http://www.cpcwiki.eu/forum/amstrad-cpc-hardware/universal-serial-interface-for-amstrad-cpc/msg169466/#msg169466
here:
http://www.cpcwiki.eu/forum/amstrad-cpc-hardware/universal-serial-interface-for-amstrad-cpc/msg170045/#msg170045
and here:
http://www.cpcwiki.eu/forum/amstrad-cpc-hardware/universal-serial-interface-for-amstrad-cpc/msg190714/#msg190714
It's from the previous usifac project thread, but the principles are the same, and you will get a lot of "inner workings"  ;)
The 2 major hardware differences with USIfAC II is ,first that i use CLC's (Configurable Logic Cells, a feature of the 18F47Q10 PIC mcu) instead of discrete logic chips for all address/signal decoding, and  with the procedure of unlatching the data bus, the new PIC is fast enough to do it "on the fly" without needing to have a "pause/unpause" procedure and "sample&hold" circuit of READY signal i described above!  ;)

Now,i have uploaded another firmware update, this time for all CPC 464 users: It ELIMINATES the need for the "Start up" procedure of giving "|464" and then pressing "Reset" button!  ;)
The only "side effect" is that, at "cold start", your CPC 464 will reset automatically a couple of times...  :D
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 19:21, 05 March 21
I finally receive the usb host modules today, so anyone interested please contact: ikonsgr745@hotmail.com
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 21:13, 07 March 21
I just spoke with a friend of mine that has a 3D printer, and he wants to start designing a case for USIFAC II!  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: issalig on 16:36, 08 March 21
Nice.
I would recommend you to add mouning holes to the pcb. Thus, in the case you can put threaded inserts, captive nuts or just nuts on the outside part.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 10:46, 13 March 21
Quote from: issalig on 16:36, 08 March 21
Nice.
I would recommend you to add mouning holes to the pcb. Thus, in the case you can put threaded inserts, captive nuts or just nuts on the outside part.

  Well,i'm not involved in case design,but my friend told me that he can do it without adding any holes to the pcb, probably case will have some kind of inner ledges at the bottom, for the board to fix in place.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 10:53, 13 March 21
Ι have just upload another firmware update, adding another small usability improvement: You don't need to type |USB after every RESET of Amstrad,but only once, at initial power up!
This means that,after you finish playing a game,you just press reset button, board will automatically enable usb host module,set to "direct mode",and then,you can access directly the usb stick, without needing to re-issue |USB command!  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: amai on 16:41, 16 March 21




is it possible to order a complete set but with a centronics connector for schneider cpc6128?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Philippe Lardenois on 08:13, 17 March 21
Hi Ikonsgr, interested in a full package.
can you tell me if it's possible ? no matter when, no hurry.


Thanks


Phil
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 09:53, 17 March 21
Quote from: amai on 16:41, 16 March 21
is it possible to order a complete set but with a centronics connector for schneider cpc6128?

Yeap! That's why i use a dual row pin connector on the board, to use it directly on a MX4 or similar board, or with edge connector cable for "classic" Amstrad CPC's, or with centronics cable for schneider cpc's!  ;)
Give me a note at ikonsgr745@hotmail.com to arrange it.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 09:53, 17 March 21
Quote from: Philippe Lardenois on 08:13, 17 March 21
Hi Ikonsgr, interested in a full package.
can you tell me if it's possible ? no matter when, no hurry.
Thanks
Phil

Give me a note at ikonsgr745@hotmail.com to arrange it.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Philippe Lardenois on 13:23, 17 March 21
great - email sent
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: 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 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?


How easy is it to update it with new firmware?


Thank you for all.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 19:56, 18 March 21
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.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 21:17, 18 March 21
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.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 16:52, 19 March 21
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 (https://www.dropbox.com/s/ibua98leg79uxgr/Amstrad%20CPC%20Serial%20Interface%20II%20User%20Guide.pdf?dl=0) 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!  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 17:52, 19 March 21
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 (http://www.cpcwiki.eu/forum/games/how-about-making-a-'worth-to-play'-collection-of-amstrad-games/)" 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]
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: shifters74 on 18:34, 19 March 21
So is the new board called USIfAC II+ or USIfAC III   :P

Another good job from the ikonsgr group  :laugh:

shifters
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: 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
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: SkulleateR on 19:08, 19 March 21
@ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541)


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
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 19:12, 19 March 21
Quote from: ikonsgr on 17:52, 19 March 21New board design, w

this means new hardware?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 19:18, 19 March 21
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!  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 19:21, 19 March 21
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)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 19:42, 19 March 21
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?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 19:59, 19 March 21
Quote from: SkulleateR on 19:08, 19 March 21
@ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541)
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!  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 20:04, 19 March 21
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.  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: SkulleateR on 20:36, 19 March 21
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
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 12:25, 20 March 21
Ok, i've updated the game list (https://www.cpcwiki.eu/forum/games/how-about-making-a-'worth-to-play'-collection-of-amstrad-games/) 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!  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 22:29, 20 March 21
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.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: SkulleateR on 22:33, 20 March 21
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
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 08:54, 21 March 21
@ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541)

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
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 12:20, 21 March 21
 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!  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 23:37, 21 March 21
@ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541)


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
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 10:31, 22 March 21
@ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541)


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
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: kolleykibber on 12:56, 23 March 21
Hi @ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541)


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

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: 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.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: kolleykibber on 17:08, 23 March 21
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? :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 20:52, 23 March 21
@kolleykibber (https://www.cpcwiki.eu/forum/index.php?action=profile;u=4071), 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).
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 21:21, 23 March 21
 And now something that i think you would love it, especially the CPC 464 owners.....
As i already wrote you, i made a few small basic loaders for the multi image games, in order to save you from placing each image into slot and enabling FDC controller manually.
And then it hits me: Amstrad Basic, can load, apart from basic listings, AND plain text ascii files that contain a basic listing! You can check this if you save into usb stick a basic program, using 'a' attribute (e.g. save"filename.bas",a) and then take usb stick and open it from your pc, you will see that it will give you the BASIC listing!
So, since i already supported ascii files on usb stick, what if i make a small PC utility to expand these small BASIC loaders for ANY game, either in file or dsk image form?
Well, it took me a few hours, but i finally manage to make such a utility and use it to create 100's of loaders for all games in the known list (https://www.cpcwiki.eu/forum/games/how-about-making-a-'worth-to-play'-collection-of-amstrad-games/), in a split of a second!  ;)
I uploaded a small zip file here: https://www.dropbox.com/s/cdd59bfubyv9g7f/loaders.zip?dl=0

You can download it and extract all the files into the root of your usb stick. Then, you just copy the "direct load games" folder into usb's stick root dir, and that's it!
Instead of manually using |CD, |MG, |FDC etc commands, you can just run the small basic loader!
Each listing is custom made depending on the specific game form:

- For games in dsk images, it will change directories, mount the image and then either reset using |464 (for CPC 464) or enabling FDC emulation and directly give you a CAT list!
- For games in file form, it will also change directories and give you a cat list, and so you can choose the game loader and run it directly!

The program searches and create Basic loaders, for multiple dsk image files in a single folder, and for files or dsk images in separate sub-folders for each game!
Here is an example:
10 A$="DIRECT~1":|CD,@A$
20 A$="SUBHUN~1":|CD,@A$
30 IF INP(&FBDC)=&83 THEN 40 ELSE 50
40 A$="SUBHUN~1.DSK":|MG,@A$:|464
50 A$="SUBHUN~1.DSK":|MG,@A$:|FDC:CAT


This is the procedure to use SUBHUN~1.DSK image file inside DIRECT~1/SUBHUN~1/ subfolder.
As you can see,i'm using the Basic 1.0 form of loading arguments in RSX commands, in order for the listings to load on CPC 464 too!
You can also see the "smart" selection of actions according to you CPC model! Judging from my quick experience on a CPC 464, this method can VASTLY improve the speed and "Ease of use" for loading games,especially for CPC 464!  ;)
Soon i will upload the utility, for anyone to create loaders for his custom game collections! ;)


 
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 23:14, 23 March 21
@ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541)


Hi John


Tha Zip file (Basic Loader for any Game) on dropbox has been deleted ??


Thanks


Ray
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 23:23, 23 March 21
There must be an issue with the [ url  ] [ /url ] tags,anyway i post the link directly now, but you can also get it from the 1st post from user's manual and windows program link too! :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 02:38, 24 March 21
@ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541)


Hi John


Thanks


Keep Safe


Ray
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 17:09, 24 March 21
Quote from: kolleykibber on 17:08, 23 March 21
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? :)
It got few space on chip left! But that's not an unlimited ROM box. So Cheers!  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 19:21, 24 March 21
ok,i just finish the small utility:
[attach=1,msg199885]

As you can see, i've include a mini help guide, so, no need to explain anything!  ;)
You can download it from here:
https://www.dropbox.com/s/jk5sgeey2f5zor8/cpc_loader.zip?dl=0

So, if you have a CPC 464 and you got tired of giving all the time:
A$="mplampla":|RSX COMMNAND,@A$ commands...
This utility will definitely..."ease your pain"!  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 20:42, 24 March 21
Ι have a small request to make:
If you happen to have an Amstrad with custom ROMs or a CPC 664, i would like to give a:
print peek(6)
just after boot, and report me the number you receive.
Standard Amstrad CPC 6128 should give '145' and standard CPC 464 '128', and because i'm using these values to find out the CPC model, it would help me make the code more precise with "custom" models!  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 22:57, 24 March 21
Hi John


CPC664 Info

THIS has been corrected I misread it to be &78 - Real Value &7B

The rom used is a 40022
The Byte info is :-
&7B   (Hex)
123   (Decimal)


Included is the Rom


Keep Safe


Ray
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 23:03, 24 March 21
Quote from: Audronic on 22:57, 24 March 21
Hi John
CPC664 Info
The rom used is a 40022
The Byte info is :-
&78   (Hex)
120   (Decimal)
Included is the Rom
Keep Safe
Ray

Thanks Ray! That will definetely help to distinguish CPC 664 from CPC 464 as obviously 664 doesn't need the boot proccess of 464 as it is equipped with Amsdos and FDC ;-)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ajcasado on 12:41, 25 March 21
Hi,
My CPC664 gives a value of 123 (dec).
ROM is also a 40022.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: issalig on 15:04, 25 March 21
Hi have just seen that @llopis (https://www.cpcwiki.eu/forum/index.php?action=profile;u=1728) is doing model detection for his Amstrad Diagnostics.
Maybe it can help.
https://github.com/llopis/amstrad-diagnostics/blob/42c1dd99cd86d8d3fbe8ac3739d87464fc5b8c8c/src/Model.asm
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: kolleykibber on 18:25, 25 March 21
Quote from: ikonsgr on 20:52, 23 March 21
@kolleykibber (https://www.cpcwiki.eu/forum/index.php?action=profile;u=4071), 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).


Thanks for the explanation.


I'm curious if it would be possible to serve roms from the usb using the ready signal trickery that you mention? Or would it just be too slow? Maybe page in 1k rom data into the memory to reduce reads?


Otherwise i need to get myself an MX4 expansion board!
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 20:56, 25 March 21
Quote from: kolleykibber on 18:25, 25 March 21
Thanks for the explanation.
I'm curious if it would be possible to serve roms from the usb using the ready signal trickery that you mention? Or would it just be too slow? Maybe page in 1k rom data into the memory to reduce reads?
Otherwise i need to get myself an MX4 expansion board!

Well, back at last summer ,when i was developing all the functions of the board,i was planing on making such a thing,e.g. use usb stick to access 16kb rom files as extra roms, but unfortunately, speed and responce prooved to be very slow, comparing to a real ROM, so i decided to abandon it.
To have a measure of it, when you use |464 command to enable virtual amsdos/parados from PIC along with FDC controller on a CPC464, you will notice a significant delay (~50%) in responce of various Disk commands (CAT, LAOD ,RUN, SAVE ) compared to that of a CPC 6128, where no AMSDOS/PARADOS emulation is done (and FDC emulation gives slgihthly faster responces ~10-20% than with a real gotek/disk drive). Now imagine that a ROM emulation from a file accessed from a usb stick, will add extra overhead+delays, so in theory a virtual "Rom board" can be done, but in practice , responce will be so slow (i guess it will be at least ~15-20times slower than a real rom) that it will have no practical use  ::)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 21:24, 25 March 21
Quote from: ajcasado on 12:41, 25 March 21
Hi,
My CPC664 gives a value of 123 (dec).
ROM is also a 40022.

Thanks for noting. What Basic version CPC 664 has? v1.0 like cpc 464 or v1.1 like cpc 6128?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ajcasado on 00:46, 26 March 21
Quote from: ikonsgr on 21:24, 25 March 21
Thanks for noting. What Basic version CPC 664 has? v1.0 like cpc 464 or v1.1 like cpc 6128?


Basic v1.1 like the 6128, but the basic rom is different.


RetroVirtualMachine emulator also gives 123.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 04:55, 26 March 21
Hi John


Corrected the ID  Byte to 7B I had read the Hex incorrectly  Grrrr


also a Photo of the USIfAC II and Voltmeter Hmnnnn


Keep safe


Ray
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 12:24, 26 March 21
That's surely ok. I'm using mine, with ~4.4volts at Usifac's power pins and works perfect!  ;)
Btw, in most cases  voltage drop from ~5volts (usually given from a 5V PSU), happens when you use extra power leads, obviously due to the extra small impedance of the power cables. 
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 12:27, 26 March 21
Quote from: ajcasado on 00:46, 26 March 21
Basic v1.1 like the 6128, but the basic rom is different.
RetroVirtualMachine emulator also gives 123.

Do you have a USIfAC II board? And if yes, did you test it with a CPC 664? As far as i can remeber, i never had any feedback from someone with CPC664...
But then,CPC664 owners its kind of a... "rare spiece"  :laugh:
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: issalig on 12:33, 26 March 21
Quote from: Audronic on 04:55, 26 March 21

also a Photo of the USIfAC II and Voltmeter Hmnnnn

Inside CPC, the voltage drops around 0.3V.
I am using a 5.2V dc power supply (from an old PDA) which results in 4.8V-4.9V.

An option could be sth like this https://aliexpress.com/item/32996444485.html
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ajcasado on 16:00, 26 March 21
Quote from: ikonsgr on 12:27, 26 March 21
Do you have a USIfAC II board? And if yes, did you test it with a CPC 664? As far as i can remeber, i never had any feedback from someone with CPC664...
But then,CPC664 owners its kind of a... "rare spiece"  :laugh:
Yes, I'm the one that sent you a PM when corrupted the PIC flash switching the usifac off and on with the MX4 motherboard PSU switch ( :picard: again). I reprogrammed it and works ok.

About being a rare species, I guess that my 664 could be the only one working in mainland african continent so definitively yes  :P .
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: kolleykibber on 16:08, 26 March 21
Hi @ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541)


I continue on my investigations with your interesting piece of kit!


I've bought a few ESP-07s and have tried them on the board. But if I call |WIFI I get 'NO WiFi module detected!'.
I have a cpc6128, the ESP-07s are switched to UART (I tried program too!).
I've tried |USB on and off, before I call |WIFI. I've used the ESP-07 reset switch, before the RSX.
If I call |WIFI a second time the system crashes.
The ESP-07 is connected correctly (GND to GND) and the lights come on and you can hear the wifi signal pulsing through the CPC's speaker.
I've tried different ESP-07s


Am I doing something wrong?


Thanks!



Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: 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....

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: issalig on 00:50, 27 March 21
I do not know how do you power the ESP module  but it should be powered with 3.3VFrom the photos of usifac (still waiting for mine, pls postman hurry up) I cannot see the 3.3V the regulator in usifac board.
If there is no 3.3V on usifac you could get it from the regulator of the usb board.
Also TX/RX lines for WIFI module should be 3.3VFrom the ESP side TX could probably be like it is (3.3V) and the microcontroller will read 3.3 has HIGH.  For RX a simple resistor divider R1=10k R2=20k would convert it from 5V to 3.3V
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 09:50, 27 March 21
Quote from: issalig on 00:50, 27 March 21
I do not know how do you power the ESP module  but it should be powered with 3.3VFrom the photos of usifac (still waiting for mine, pls postman hurry up) I cannot see the 3.3V the regulator in usifac board.
If there is no 3.3V on usifac you could get it from the regulator of the usb board.
Also TX/RX lines for WIFI module should be 3.3VFrom the ESP side TX could probably be like it is (3.3V) and the microcontroller will read 3.3 has HIGH.  For RX a simple resistor divider R1=10k R2=20k would convert it from 5V to 3.3V

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:
[attach=1,msg199981]

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.  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: issalig on 12:05, 27 March 21
 :) Yes, these modules look good (1117 regulator for power and transistors for RX/TX signals) . I thought you were using normal 3.3v modules.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Philippe Lardenois on 14:14, 27 March 21
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/ZBcdRs3)

https://ibb.co/ftLkZxq (https://ibb.co/ftLkZxq)

(https://ibb.co/ZBcdRs3)
(https://ibb.co/ZBcdRs3)
++
Phil


(https://ibb.co/ftLkZxq)
(https://ibb.co/ZBcdRs3)

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Deevee 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 ?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: 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 ?

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: 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.

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.  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 00:42, 28 March 21
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.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 01:11, 28 March 21
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.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 01:13, 28 March 21
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!  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: 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

[/size][size=78%]Thanks anyway [/size]
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Skunkfish on 19:24, 28 March 21
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.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 19:32, 28 March 21
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!  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 20:30, 28 March 21
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

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 21:03, 28 March 21
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!
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: kolleykibber on 22:18, 28 March 21
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 :)


Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 23:45, 28 March 21
@ 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  ;) )
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ajcasado on 10:00, 29 March 21
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.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Philippe Lardenois on 12:54, 29 March 21
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.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 17:25, 29 March 21
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.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 17:36, 29 March 21
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.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 00:32, 30 March 21
Hi John


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


Keep Safe


Ray
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 21:59, 30 March 21
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
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: xyphoes on 09:23, 03 April 21
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   
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 10:14, 03 April 21
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.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 06:58, 06 April 21
@ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541)


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
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 20:42, 06 April 21
 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.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 23:12, 06 April 21
@ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541)


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
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 07:36, 07 April 21
@ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541)


Ok have setup the second board and the same result using 3a (I am NOT having problems with version 3 √√√√)


some information using MPLAB IPE below :-


The CP=OFF Checksum is different for Version 3a ??

18f47q10 Version 3 Firmware Checksums:- shown Using MPLAB IPE


CP=OFF Checksum = CD79
Below that
Checksum = CD79

I am able to Verify this Firmware after programming √√√√. GOOD



The faulty one is below - 3a ???

18f47q10 Version 3a Firmware Checksums:-

CP=OFF Checksum = FAD0. ??? ??? ??? ??
Below that
Checksum = 13A6

I am UNABLE to Verify this Firmware after programming. XXXXX

I can write the firmware and it says verified BUT
When I do a seperate Verify Pass it FAILS (4 Chips Tested) ??? ?

Perhaps there is a concern with the File 18f47q10 Version 3a

Thanks

Keep Safe

Ray
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 09:12, 08 April 21
Yes, checksum of 3a version is CD79, but it seems that i enabled code protection when i compiled the hex file, that's why you can't verify it.
So, since previous firmware works ok, and you only have problems with 3a (when it works perfect on all Amstrads i have), the only logical thing to assume, is that somehow, your programmer+software can't handle properly code protected hex files  ::)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 11:50, 08 April 21
@ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541)


Ok I don't know how to write ? Protected hex files.


Perhaps as I use the same Programmer software as what was recommended you could tell me what I have to do to write them correctly ?


I spent some hours trying to find a solution but was unable to write a working file ?


Or as an option release an UnProtected file as none of the other files that you have release are Protected ?


Thanks
Keep Safe
Ray
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Skunkfish on 09:04, 09 April 21
Will firmware 3a work with my older (non-white) board?

I assume so, I'm planning to update the firmware and install a push button today.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 09:51, 09 April 21
There is no actual hardware difference between the old boards and the new white one, appart from the added dsk swap button, so you can perfectly use the latest firmware with old boards too, but if you don't have the button, then all extra rsx commands for supporting multiple dsk image access will be useless  ::)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Philippe Lardenois on 12:52, 09 April 21
@ikongsgr


I just flashed the firmware with 3a version from page 1 and same problem Audronic has.
keep reseting, no access to CPC and bad Checksum.
Don't have the 3.0 firm on computer, where to download it ? or can we have the actual firm unprotected ?

Tried to reflash with the 2D and OUT &FBD2,5 is ok). so Erase, reflash with 3A and no luck...
helppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp. I mounted the Swap Button. Would like to use it.

Thanks.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 10:18, 10 April 21
Ok,i just confirm the problem myself.
It seems that using pickit3 to update new firmware is causing this problem, but everything works ok, when you use PICKIT4 programmer (which i'm lately using) ::)
Anyway, i've correct the problem, and now you should be able to use the latest _3a firmware (i uploaded at 1st post) with PICKIT3 programmer too.
Sorry for the incovenience! ;)


Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 10:37, 10 April 21
@ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541)


Well done.
I will test the 3a Update tomorrow.


Thanks for all your work on this project


Keep Safe


Ray
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Philippe Lardenois on 10:45, 10 April 21
Great, thanks. Gonna try it now and tell you if it's ok


EDIT : Ok tried it and working well. But I need to check wires on my Swap button as it doesn't swap... :P


Thanks

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Philippe Lardenois on 18:27, 10 April 21
Sorry
but getting MAD with the SWAP Button
solder GND to WIFI GND connection and other to pin on the PIC.
When I press the button, it sometimes swap to next disk, sometimes jump from disk 1 to 4, and most of the time freeze the CPC or blurry the screen or send a TAPE CAT command...


What's wrong according to you ?
attached a photo of the cart. video too if interested https://1fichier.com/?u5ob5v6wlly6znwazj0s


Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 20:19, 10 April 21
Well, it sounds like bad contact to me. I can't see form photo if you have soldered the cable to PIC's pin, but it's better to do it from the bottom of the board by soldering the cable to socket's pin. Mind also that, while button is pressed, Amstrad freezes, and also you should have dsk images mounted on at least slot 1 & another slot (2-4), in order for the swap to work.
And don't forget you can check current state by giving |SMG.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 00:22, 11 April 21
@ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541)


Hi John

Well done it works well.
Tested on a CPC464, and a CPC6128.

I did not have to do an " out &fbd2,5 " ( ROM 5) on the CPC464 Only as it automatically does this to ROM 4.
Does it matter if the Interface Rom is 4 or 5 ?
Or do I just leave the default ROM 4 for version 3a

Thanks

Keep Safe
Ray
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 09:09, 11 April 21
@Audronic (https://www.cpcwiki.eu/forum/index.php?action=profile;u=1169), as long as there is no other device using rom 4, it doesn't make any difference.
After reflashing PIC, and according to the initial value of the EEPROM byte where the rom number is stored, it might indeed work directly, without needing to give OUT &FBD2,5 to set it.
In anycase, you could give the out command just to ensure that board gets the correct rom number, afterall, this needs to be done only once after re-flashing pic  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 09:11, 11 April 21
I've added a small txt file (https://www.dropbox.com/s/ux5ujgy2kn8ilkc/help.txt?dl=0) which includes the |HELP text, so you can easily print all the RSX commands in a single paper for quick reference!  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 10:25, 11 April 21
@ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541)


I will set my systems up for your default of ROM 5 .
Thanks for the Help documentation it is appreciated.


Keep up the good work 


Keep Safe


Ray



Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Philippe Lardenois on 15:34, 11 April 21
@ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541) please as I'm a total noob, what is the best GND pin that I should solder the cable for disk swap button ?
I don't want to fire the cart...
tested the button putting the GND to a metal thing and it works.
maybe my button has too much impedance or something like that...

so I prefer asking you
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: issalig on 12:40, 13 April 21
[SOLVED] I forgot to activate it with OUT &FBD2,5   (as described in https://www.dropbox.com/s/pymv4sbxch3psin/Updating%20the%20Firmware%20of%20USIfAC%20II%20via%20ICSP%20v1.pdf?dl=0 (https://www.dropbox.com/s/pymv4sbxch3psin/Updating%20the%20Firmware%20of%20USIfAC%20II%20via%20ICSP%20v1.pdf?dl=0))

Hi all, finally postal service has delivered my USIFAC (last green version I guess)
But the problem is I am getting "Unknown command" for each RSX function I call  |HELP   |CAT , ...., etc

At startup I do not get any USIFAC message, is it normal? Reset and pause button work.Votlage on + - is 4.6V which I assume is enough
I am going to clean again the expansion port contacts.

Any hint?
BR.

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: SkulleateR on 13:11, 13 April 21
Does it say "USIfAC II Enhanced" on Bootscreen ? if not, try a "OUT &FBD2,5" to set the rom to slot 5 and restart the USIfAC with the reset button ... worth a try
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 16:26, 13 April 21
Quote from: Philippe Lardenois on 15:34, 11 April 21
@ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541) please as I'm a total noob, what is the best GND pin that I should solder the cable for disk swap button ?
I don't want to fire the cart...
tested the button putting the GND to a metal thing and it works.
maybe my button has too much impedance or something like that...
so I prefer asking you

On my development board (it's one of the 1st pcbs i designed), i'm using the same gnd pin you used (gnd from the 4pin WiFi module connector) but i got a small cable soldered at the bottom of the board that goes to a button exactly the same as the reset button.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: issalig on 10:47, 15 April 21
Hi all, I keep on exploring USIFAC2 and now I want to connect to wifi
I have selected 115200 bps with OUT &FBD1,16 and |STAT says it is like this but |WIFI gets "NO Wifi module detected!"  :( I am using an ESP-07 WIFI board with the switch in the UART position (down) and the led is ON.

I had to flash the file @kolleykibber (https://www.cpcwiki.eu/forum/profile/?u=4071) provided, and now it is communicating BUT  SSID and PASSWD is skipped   ???  (see atached image)

Connecting to the module from the PC, it seems that firmware does not have  AT+CWJAP neither AT+CWLAP and maybe USIFAC is ignoring it and thus it is not asking for SSID/PASS

My version of AT firmware is
AT+GMR
00170901Which version are you using?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: issalig on 12:35, 15 April 21
YES, my RCA conversion is horrible)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 20:49, 15 April 21
You can try |COM to get a small terminal that can be used for giving AT commands. I used various v1.6 and v1.7 firmwares for esp8266 modules, either esp-01 or esp-07.

bTW, SSID and passwd is skipped, when the module is already connected to an access point (usually router's), so it directly asks for ip and port no. , and tries to connect to a TCP server (a tcp server is activated every time you run my windows utility for usifac ii, but i suppose it could work with any other tcpserver too  :) )
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: SkulleateR on 21:44, 15 April 21
Ok, in addition to the auto mount script from ikonsgr I wrote a little basic program that let's you easily switch between DSK images to all 4 Slots and after that just use them with the image switch button on the USIfAC II.


So, how does this work ?


First of all, put the USB Stick in your PC, open a command prompt and navigate to your directory with some DSK files in it. Once there, just do : DIR *.DSK /-N > INDEX.TXT


Be sure not to forget the "/-N" option, because we need 8+3 naming for the CPC to recognize the image files. After that just add the NC.BAS file (attached to this post) in the same directory as the INDEX.TXT !


Now put the USB Stick back into the USIfAC II , navigate to the folder where those files are and simply type RUN"NC.BAS". After you finished using the DSK images, just do a reset on USIfAC, type |USB and RUN"NC.BAS" again to change your chosen images. This is nothing fancy or well coded, it just helps to save time and typing :)


Of course you can do that for all the directories on your USB Stick if wanted. You can also edit the INDEX.TXT with any editor and put DSK files in there if you want, just be sure to stick to the 8+3 filename.

Limitations : only 60 DSK images in a folder are allowed



Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 22:49, 15 April 21
Finally, "3rd party support" for USIfAC II  started!
Well done!  ;)
btw, if you want, we could add this in the download link of usifac ii windows utility prorgam,and why not, add a section in User's guide too!  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 22:57, 15 April 21
And here is the Basic utility in ascii text form:
[attach=1]
In this form, you can easily edit/view the listing from your PC and run it directly to your Amstrad!  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: SkulleateR on 23:11, 15 April 21
Quote from: ikonsgr on 22:49, 15 April 21
Finally, "3rd party support" for USIfAC II  started!
Well done!  ;)
btw, if you want, we could add this in the download link of usifac ii windows utility prorgam,and why not, add a section in User's guide too!  ;)


You are of course free to do so ... I'm still working on larger directory support with more DSK files but the main structure stays the same... And of course still investigate the issue we wrote about  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Philippe Lardenois on 16:47, 16 April 21
Quote from: kolleykibber on 22:18, 28 March 21

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 :)



Hi, got the same problem. Can we flash the module with the Pickit 3.5 ? or do you have a noob procedure for us to do that ?


Thanks
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: issalig on 18:13, 16 April 21
Quote from: Philippe Lardenois on 16:47, 16 April 21

Hi, got the same problem. Can we flash the module with the Pickit 3.5 ? or do you have a noob procedure for us to do that ?


Thanks
No, Philippe, this should be done with a usb-serial module like this one https://es.aliexpress.com/item/1005001510943320.html
In particular I use the black one with CP2102 but you could use others for example PL2303HX that is used in the documentation for Direct Serial Connection https://www.dropbox.com/sh/ezzga2dppm6jlm7/AACwFC_rv2QatWh_ndKc9fhma?dl=0&preview=Amstrad+CPC+Serial+Interface+II+User+Guide.pdf
For flashing it you can find instructions in http://nerdclub-uk.blogspot.com/2016/09/upgrading-firmware-in-esp8266-wifi.html

But I guess, maybe your module is OK and you just need to change the baudrateIf it is reporting strange characters (it is working but in an unknown baudrate probably)
It looks that some of the modules use 9600bps and also the "exotic"  74880bps , so you could give a try to set that baudrate in the arduino serial monitor or in Realterm or in CPC with |TER
Additionally, in my case I needed to  set station mode for wifi  AT+CWMODE=1  and then AT+CWJAP="WIFINAME","YOURPASS"Then , setup baudrate  AT+CIOBAUD=115200   and the same speed in USIFAC
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Philippe Lardenois on 18:19, 16 April 21
Thanks. Gonna look for it. Stay tuned.
Phil
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 17:15, 17 April 21
Quote from: Philippe Lardenois on 16:47, 16 April 21
Hi, got the same problem. Can we flash the module with the Pickit 3.5 ? or do you have a noob procedure for us to do that ?
Thanks

Download this: https://www.dropbox.com/s/vkq6ghmf39a0qx7/ESP8266_flasher.zip?dl=0
Just run "esp8266_flasher.exe", click "BIN" button and select the included: "HS06F014 ESP-01S.bin", set your com port number and press "download".
This must be the easiest way to flash a wifi module.
Btw, i found out why mysteriously all my wifi modules stopped working: firewall blocked access to windows utility TCP server (i suspect the antivirus involved in this...)
So, if your Wifi module can't connect to PC check windows firewall settings, if there is any inbound rule that block access of the Amstrad utility.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 21:16, 17 April 21
Quote from: issalig on 18:13, 16 April 21
But I guess, maybe your module is OK and you just need to change the baudrateIf it is reporting strange characters (it is working but in an unknown baudrate probably)
It looks that some of the modules use 9600bps and also the "exotic"  74880bps , so you could give a try to set that baudrate in the arduino serial monitor or in Realterm or in CPC with |TER
Additionally, in my case I needed to  set station mode for wifi  AT+CWMODE=1  and then AT+CWJAP="WIFINAME","YOURPASS"Then , setup baudrate  AT+CIOBAUD=115200   and the same speed in USIFAC

Well, you can do all that, by simply giving |WIFI. There is also no need to preset wifi module's speed to usufac's serial port speed, as program will scan all available speeds automatically and set to current speed of the wifi module (i simply give an AT command and check respond, if it's the right one then obviously this is the correct serial port speed!  ;) btw, the |WIFI utility is in BASIC, so it can be a good source for learning too!  ;))
After that, you'll be asked if you want to change the speed, and then set Access point name+password (this is ommited if module is already connected to an access point), and finally establish a TCP conection by giving ip address+port  of a tcp server.
The only thing that you need to take care, is that, after initial power up (of Amstrad+usifac+wifi module), you should wait for a few seconds for the wifi module to boot properly, and then give "|WIFI" command. If you give the command too quick, you might get a lot of garbage on screen, even hang-ups and resets, although no harm is done with that, as you can simply reset amstrad and give "|WIFI" again!  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: issalig on 21:42, 17 April 21
Quote from: ikonsgr on 21:16, 17 April 21
btw, the |WIFI utility is in BASIC, so it can be a good source for learning too!  ;) )
Nice info @ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541) but how can this BASIC code be listed? (BTW, I still have to learn how to program RSX commands  :) )
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 21:59, 17 April 21
Well, after finishing setting up wifi module, you just give "LIST" at basic prompt, and you will get the BASIC listing!  :D
And here is the asm code for the |WIFI command:
data_size equ 3465
addr equ &170
org &c000
ld hl, setwifi_code
ld de, addr
ld bc, data_size
ldir
ld a ,#FB
in a,(#Dc)
ld l, a
ld h,&ae
ld de,data_size+&170
ld B,4

patch_mems: ;length+1678+368 (&170)

ld (HL),e
INC HL
LD (HL),d
INC HL
dec b
jr nz,patch_mems

ld a,l
cp &6e
jp z,runcommand
ret

runcommand:
ld hl,&ae29
ld a,0
ld (hl),a
ld hl, run_code
ld de, &7900
ld bc, 8
ldir
jp &7900

Run_code:
defb 14,0,33,149,234,205,27,0


setwifi_code:

defb 19,0,10,0,173,32,16,1,130,32,14,32,32,32,32,32,32,32,0,31,0,17,0,185,32,28,208,251,44,25,43,1,185,32,28,208,251,44,25,43,1,185
defb 32,28,208,251,44,25,43,0,60,0,20,0,147,32,3,0,0,83,208,40,25,10,41,1,13,0,0,115,101,114,115,112,101,101,228,239,25,24,1,13,0
defb 0,99,117,114,115,112,101,101,228,239,255,11,40,28,221,251,41,32,32,32,32,32,32,32,32,32,0,25,0,30,0,162,32,14,44,15,1,162,32,16,44
defb 14,1,186,32,16,1,138,32,32,32,0,10,0,40,0,159,32,30,136,19,0,36,0,50,0,3,0,0,225,239,34,65,84,43,67,87,77,79,68,69,61
defb 49,34,1,159,32,30,176,4,32,32,32,32,32,32,32,0,19,0,100,0,197,32,115,101,114,105,97,108,32,115,101,116,117,112,0,60,0,110,0,138,1
defb 216,32,35,14,44,25,18,44,25,55,44,17,44,22,1,124,0,83,84,65,212,1,216,32,35,14,44,25,18,44,25,55,44,18,44,22,1,138,1,216,32
defb 35,14,44,15,44,25,79,44,15,44,25,25,0,60,0,115,0,169,32,25,22,44,19,1,191,34,83,101,116,32,110,101,119,32,115,112,101,101,100,63,32
defb 40,89,47,78,41,34,1,131,32,28,3,187,1,13,0,0,111,102,102,115,101,244,239,14,32,32,32,32,32,32,32,0,34,0,116,0,161,32,255,10,40
defb 25,43,41,239,14,32,235,32,30,120,0,32,32,32,32,32,32,32,32,32,32,32,32,32,0,41,0,117,0,161,32,255,10,40,25,46,41,239,14,32,235
defb 32,13,0,0,111,102,102,115,101,244,239,25,11,1,160,32,30,84,1,32,32,32,32,32,0,10,0,118,0,160,32,30,116,0,0,58,0,120,0,191,1
defb 191,34,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,80,114,101,115,115,58,34,1,158,32,13,0,0,248,239
defb 21,32,236,32,25,14,32,32,32,32,0,75,0,130,0,195,32,3,0,0,83,208,40,13,0,0,248,245,20,41,1,169,32,25,32,44,13,0,0,248,1
defb 191,32,34,60,34,59,172,40,255,25,40,13,0,0,216,245,20,41,44,16,44,15,41,59,34,62,58,34,59,3,0,0,83,208,40,13,0,0,248,245,20
defb 41,32,32,0,11,0,140,0,176,32,13,0,0,248,0,60,0,160,0,140,32,57,54,48,48,44,53,55,54,48,48,44,49,49,53,50,48,48,44,50,51
defb 48,52,48,48,44,52,54,48,56,48,48,44,53,55,54,48,48,48,44,57,50,49,54,48,48,44,49,48,54,53,54,48,48,0,21,0,170,0,13,0,0
defb 115,101,114,115,240,239,14,1,131,32,28,3,187,0,51,0,180,0,161,32,255,10,40,25,64,41,239,14,32,235,32,13,0,0,115,101,114,115,240,239,25
defb 12,1,3,0,0,83,208,239,34,57,54,48,48,34,32,32,32,32,32,32,32,32,32,0,54,0,190,0,161,32,255,10,40,25,65,41,239,14,32,235,32
defb 13,0,0,115,101,114,115,240,239,25,15,1,3,0,0,83,208,239,34,53,55,54,48,48,34,32,32,32,32,32,32,32,32,32,32,32,0,52,0,200,0
defb 161,32,255,10,40,25,57,41,239,14,32,235,32,13,0,0,115,101,114,115,240,239,25,16,1,3,0,0,83,208,239,34,49,49,53,50,48,48,34,32,32
defb 32,32,32,32,32,32,0,51,0,210,0,161,32,255,10,40,25,56,41,239,14,32,235,32,13,0,0,115,101,114,115,240,239,25,17,1,3,0,0,83,208
defb 239,34,50,51,48,52,48,48,34,32,32,32,32,32,32,32,0,50,0,220,0,161,32,255,10,40,25,49,41,239,14,32,235,32,13,0,0,115,101,114,115
defb 240,239,25,18,1,3,0,0,83,208,239,34,52,54,48,56,48,48,34,32,32,32,32,32,32,0,54,0,230,0,161,32,255,10,40,25,48,41,239,14,32
defb 235,32,13,0,0,115,101,114,115,240,239,25,19,1,3,0,0,83,208,239,34,53,55,54,48,48,48,34,32,32,32,32,32,32,32,32,32,32,0,44,0
defb 240,0,161,32,255,10,40,25,41,41,239,14,32,235,32,13,0,0,115,101,114,115,240,239,25,21,1,3,0,0,83,208,239,34,57,50,49,54,48,48,34
defb 0,51,0,250,0,161,32,255,10,40,25,40,41,239,14,32,235,32,13,0,0,115,101,114,115,240,239,25,23,1,3,0,0,83,208,239,34,49,48,54,53
defb 54,48,48,34,32,32,32,32,32,32,0,25,0,24,1,161,32,13,0,0,115,101,114,115,240,239,14,32,235,32,160,32,30,180,0,0,54,0,44,1,3
defb 0,0,193,239,34,65,84,43,85,65,82,84,95,68,69,70,61,34,244,3,0,0,83,208,244,34,44,56,44,49,44,48,44,48,34,32,32,32,32,32,32
defb 32,32,32,32,32,32,32,0,33,0,54,1,159,32,30,176,4,1,185,32,28,209,251,44,13,0,0,115,101,114,115,240,1,185,32,28,209,251,44,15,0
defb 25,0,64,1,158,32,13,0,0,233,239,15,32,236,32,25,100,1,176,32,13,0,0,233,0,110,0,84,1,216,32,35,16,44,15,44,25,79,44,25,21
defb 245,13,0,0,79,70,70,83,69,212,44,25,25,245,13,0,0,79,70,70,83,69,212,1,186,32,35,16,44,14,1,187,32,35,16,44,15,1,216,32,35
defb 17,44,15,44,25,79,44,25,19,245,13,0,0,79,70,70,83,69,212,44,25,20,245,13,0,0,79,70,70,83,69,212,1,186,32,35,17,44,14,1,187
defb 32,35,17,44,15,1,159,32,30,208,7,0,37,0,86,1,3,0,0,225,239,34,65,84,43,67,73,80,77,79,68,69,61,49,34,1,159,32,30,176,4
defb 32,32,32,32,32,32,32,0,28,0,89,1,3,0,0,225,239,34,65,84,43,67,73,80,83,69,78,68,34,1,159,32,30,176,4,0,55,0,94,1,169
defb 32,25,30,44,25,22,245,13,0,0,79,70,70,83,69,212,1,191,34,87,105,70,105,32,77,111,100,117,108,101,32,99,111,110,110,101,99,116,101,100,33
defb 34,32,32,32,32,32,32,32,0,17,0,104,1,131,32,28,3,187,1,152,32,32,32,32,32,0,31,0,176,4,197,32,83,69,78,68,32,65,84,32,67
defb 79,77,77,65,78,68,83,32,82,79,85,84,73,78,69,0,24,0,196,4,158,32,13,0,0,235,239,15,32,236,32,255,14,40,3,0,0,225,41,0,29
defb 0,206,4,185,32,28,208,251,44,255,1,40,172,40,3,0,0,193,44,13,0,0,203,44,15,41,41,0,11,0,216,4,176,32,13,0,0,203,0,24,0
defb 226,4,185,32,28,208,251,44,28,13,0,1,185,32,28,208,251,44,28,10,0,0,12,0,236,4,3,0,0,193,239,34,34,0,6,0,246,4,201,0,24
defb 0,0,5,197,32,83,69,78,68,32,84,69,88,84,32,82,79,85,84,73,78,69,0,25,0,60,5,158,32,13,0,0,235,239,15,32,236,32,255,14,40
defb 3,0,0,225,41,32,0,38,0,70,5,185,32,28,208,251,44,255,1,40,172,40,3,0,0,193,44,13,0,0,203,44,15,41,41,32,32,32,32,32,32
defb 32,32,32,0,14,0,80,5,176,32,13,0,0,203,32,32,32,0,36,0,85,5,161,32,13,0,0,99,114,108,230,238,14,32,235,32,185,32,28,208,251
defb 44,25,13,1,185,32,28,208,251,44,25,10,0,36,0,90,5,191,32,35,15,44,255,3,40,25,10,41,244,255,3,40,25,13,41,1,3,0,0,225,239
defb 34,34,32,32,32,32,32,0,6,0,100,5,201,0,22,0,208,7,197,32,87,73,70,73,32,67,79,78,78,69,67,84,73,79,78,0,22,0,210,7,3
defb 0,0,193,239,34,65,84,69,48,34,1,159,32,30,176,4,0,12,0,213,7,185,32,28,209,251,44,15,0,10,0,218,7,159,32,30,184,11,0,10,0
defb 223,7,131,32,28,3,187,0,32,0,224,7,161,32,13,0,0,83,84,65,84,85,211,239,14,32,235,32,13,0,0,83,84,65,84,85,211,239,15,0,40
defb 0,228,7,178,32,13,0,0,115,116,97,116,117,243,32,160,32,30,2,8,44,30,152,8,44,30,238,7,44,30,152,8,44,30,2,8,32,32,0,6,0
defb 238,7,201,0,52,0,2,8,169,32,25,27,44,25,19,245,13,0,0,111,102,102,115,101,244,1,163,34,65,46,80,46,32,115,115,105,100,58,34,44,3
defb 0,0,115,115,105,228,32,32,32,32,32,32,32,32,0,52,0,12,8,169,32,25,28,44,25,20,245,13,0,0,111,102,102,115,101,244,1,163,34,112,97
defb 115,115,119,111,114,100,58,34,44,3,0,0,112,97,115,243,32,32,32,32,32,32,32,32,32,0,73,0,22,8,3,0,0,225,239,34,65,84,43,67,87
defb 74,65,80,95,68,69,70,61,34,244,255,3,40,25,34,41,244,3,0,0,83,83,73,196,244,255,3,40,25,34,41,244,34,44,34,244,255,3,40,25,34
defb 41,244,3,0,0,80,65,83,211,244,255,3,40,25,34,41,0,15,0,32,8,159,32,30,176,4,32,32,32,32,32,0,53,0,42,8,169,32,25,30,44
defb 25,21,245,13,0,0,111,102,102,115,101,244,1,191,34,67,111,110,110,101,99,116,105,110,103,46,46,46,34,59,32,32,32,32,32,32,32,32,32,32,32
defb 32,32,0,10,0,52,8,159,32,30,184,11,0,45,0,62,8,161,32,13,0,0,115,116,97,116,117,243,239,16,32,235,32,191,34,79,75,34,1,138,32
defb 35,17,1,160,32,30,228,7,32,32,32,32,32,32,32,32,0,73,0,72,8,169,32,25,15,44,25,22,245,13,0,0,111,102,102,115,101,244,1,191,34
defb 69,114,114,111,114,58,82,101,116,114,121,40,49,41,32,111,114,32,73,110,115,101,114,116,32,110,101,119,32,65,99,99,101,115,115,32,80,111,105,110,116
defb 40,50,41,63,34,32,32,0,36,0,82,8,161,32,255,10,40,25,64,41,239,14,32,235,32,138,32,35,16,1,160,32,30,32,8,32,32,32,32,32,32
defb 32,32,0,46,0,92,8,161,32,255,10,40,25,65,41,239,14,32,235,32,138,32,35,16,1,138,32,35,17,1,131,32,28,3,187,1,160,32,30,2,8
defb 32,32,32,32,32,32,32,0,10,0,102,8,160,32,30,82,8,0,60,0,152,8,138,32,35,16,1,131,32,28,3,187,1,169,32,25,27,44,25,19,245
defb 13,0,0,111,102,102,115,101,244,1,163,34,72,111,115,116,32,105,112,58,34,44,3,0,0,104,111,115,244,32,32,32,32,32,32,32,0,52,0,162,8
defb 169,32,25,30,44,25,20,245,13,0,0,111,102,102,115,101,244,1,163,34,112,111,114,116,58,34,44,3,0,0,112,111,114,244,32,32,32,32,32,32,32
defb 32,32,32,32,32,32,0,53,0,172,8,3,0,0,72,79,83,212,239,255,3,40,25,34,41,244,3,0,0,72,79,83,212,244,255,3,40,25,34,41,244
defb 34,44,34,244,3,0,0,80,79,82,212,32,32,32,32,32,32,32,0,56,0,182,8,3,0,0,225,239,34,65,84,43,67,73,80,83,84,65,82,84,61
defb 34,244,255,3,40,25,34,41,244,34,84,67,80,34,244,255,3,40,25,34,41,244,34,44,34,244,3,0,0,72,79,83,212,0,25,0,192,8,3,0,0
defb 99,111,110,110,101,99,244,239,3,0,0,225,32,32,32,32,32,0,10,0,197,8,159,32,30,176,4,0,56,0,202,8,169,32,25,30,44,25,21,245,13
defb 0,0,111,102,102,115,101,244,1,191,34,67,111,110,110,101,99,116,105,110,103,46,46,46,34,59,1,159,32,30,184,11,32,32,32,32,32,32,32,32,32
defb 32,0,22,0,212,8,161,32,13,0,0,83,84,65,84,85,211,239,17,32,235,32,201,0,70,0,222,8,169,32,25,15,44,25,22,245,13,0,0,111,102
defb 102,115,101,244,1,191,34,69,114,114,111,114,58,82,101,116,114,121,40,49,41,32,111,114,32,73,110,115,101,114,116,32,110,101,119,32,72,111,115,116,32
defb 83,101,114,118,101,114,40,50,41,63,34,0,31,0,232,8,161,32,255,10,40,25,64,41,239,14,32,235,32,138,32,35,16,1,160,32,30,182,8,32,32
defb 32,0,38,0,242,8,161,32,255,10,40,25,65,41,239,14,32,235,32,138,32,35,16,1,138,32,35,17,1,160,32,30,152,8,32,32,32,32,32,0,10
defb 0,252,8,160,32,30,232,8,0,13,0,184,11,197,32,115,116,97,116,117,115,0,12,0,189,11,185,32,28,209,251,44,15,0,38,0,194,11,3,0,0
defb 225,239,34,65,84,43,67,73,80,83,84,65,84,85,83,34,1,159,32,30,176,4,32,32,32,32,32,32,32,32,0,11,0,204,11,13,0,0,201,239,15
defb 0,40,0,214,11,214,32,40,13,0,0,201,241,22,41,32,250,32,40,255,11,40,28,209,251,41,239,25,255,41,32,32,32,32,32,32,32,32,32,32,0
defb 38,0,224,11,13,0,0,193,239,255,11,40,28,208,251,41,1,13,0,0,201,239,13,0,0,201,244,15,32,32,32,32,32,32,32,32,32,0,6,0,234
defb 11,213,0,25,0,244,11,13,0,0,83,84,65,84,85,211,239,255,11,40,28,208,251,41,245,25,48,0,42,0,249,11,161,32,40,13,0,0,83,84,65
defb 84,85,211,241,16,41,32,252,32,40,13,0,0,115,116,97,116,117,243,238,19,41,32,235,32,30,189,11,0,6,0,254,11,201,0,18,0,160,15,13,0
defb 0,225,239,15,1,13,0,0,233,239,14,0,27,0,170,15,214,32,40,13,0,0,225,239,15,41,32,250,32,40,13,0,0,233,241,25,15,41,0,29,0
defb 180,15,13,0,0,225,239,255,11,40,28,209,251,41,1,13,0,0,233,239,13,0,0,233,244,15,0,6,0,190,15,213,0,6,0,200,15,201,0,46,0
defb 136,19,197,32,97,117,116,111,109,97,116,105,99,32,115,112,101,101,100,32,100,101,116,101,99,116,105,111,110,32,111,102,32,119,105,102,105,32,32,32,32
defb 32,32,0,21,0,146,19,185,32,28,209,251,44,15,32,32,32,32,32,32,32,32,32,0,19,0,156,19,3,0,0,225,239,34,65,84,34,32,32,32,32
defb 32,0,16,0,166,19,159,32,30,176,4,1,159,32,30,160,15,0,19,0,176,19,161,32,13,0,0,193,239,15,32,235,32,30,196,19,0,51,0,186,19
defb 13,0,0,225,239,255,11,40,28,208,251,41,1,161,32,13,0,0,225,239,25,65,32,252,32,13,0,0,225,239,25,13,32,252,32,13,0,0,225,239,25
defb 79,32,235,32,201,0,30,0,196,19,13,0,0,83,69,82,83,80,69,69,196,239,13,0,0,83,69,82,83,80,69,69,196,245,15,0,77,0,201,19,161
defb 32,13,0,0,83,69,82,83,80,69,69,196,239,23,32,235,32,185,32,28,209,251,44,13,0,0,67,85,82,83,80,69,69,196,1,191,34,78,79,32,87
defb 105,70,105,32,109,111,100,117,108,101,32,100,101,116,101,99,116,101,100,33,34,1,152,32,32,32,32,32,32,32,0,28,0,206,19,185,32,28,209,251,44
defb 13,0,0,115,101,114,115,112,101,101,228,1,160,32,30,146,19,0,0,0


This is actaully a method of passing Basic files through assembly code, and i'm using it in many other RSX commands!
The bytes transferred to &170 is the actual basic listing, and it's nothing more that the saved BAS file, without the first 128 bytes of header!  ;)
After that, you only need to set some variables in memory (the "patch_mems" section) , and you are ready!
And finally, the best part: the few bytes in the "run code" section, allows you to automatically run the inserted basic program, without giving "RUN" command!  ;)
It's only a few instructions:
ld c,0
ld hl,&ea92
call &001b


This,as small as it may seems, was rather tricky and hard to accomplish, as it required to intercept the "Run" command in basic rom at specific address (far call RST 3 to &ea92 of rom 0=Basic (http://cpctech.cpcwiki.de/docs/basic.asm))!
And because i couldn't find a dissasmble code of CPC 464 BASIC 1.0 rom, this automation is only available for CPC 6128  :)

btw, here is all you need to know about creating your own rsx commands: http://cpctech.cpc-live.com/docs/manual/s158se09.pdf

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 11:04, 18 April 21
@SkulleateR (https://www.cpcwiki.eu/forum/index.php?action=profile;u=3124) , i made a simple windows app,in order to create the index.txt without needing writing a cli command, and added all (multi_dsk_manager.zip) to USIfAC II assets directory!. First post also updated to include a short description of new additions!  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: issalig on 12:35, 18 April 21
Quote from: ikonsgr on 21:59, 17 April 21
Well, after finishing setting up wifi module, you just give "LIST" at basic prompt, and you will get the BASIC listing!  :D
I thought about LIST but it seemed too obvious. :)

Thanks for the explanation, this is what I like from projects like USIFAC, learning from experts and sharing knowledge is priceless. I hope one day I will be able to develop an expansion card.

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: kolleykibber on 01:14, 19 April 21
If anyones interested, I've gone down the rabbit hole of the strange world of the esp8266 and have flashed ESP-Link. I've connected the module to the uart connector instead of the wifi plug on the usifac. This gives the CPC a web server and I can telnet to it using the |ter and |com programs. It's all very exciting. I imagine Duke is using something like a customised version of esplink in the M4 board.


I can't connect the CPC to a shell yet. I've tried ncat -e and socat but the encoding appears to be bad. Any tips?


Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 17:38, 19 April 21
@kolleykibber (https://www.cpcwiki.eu/forum/index.php?action=profile;u=4071) , How exactly you connect to this shell you mention?
Did you use |WIFI command?
Also take a look at user manual (https://www.dropbox.com/s/ibua98leg79uxgr/Amstrad%20CPC%20Serial%20Interface%20II%20User%20Guide.pdf?dl=0) in Configure esp8266 module section, you will find a list of most useful commands for setting up module manually,use module as TCP server etc
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: kolleykibber on 00:39, 20 April 21
Hi @ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541) ,


It's an alternative firmware  https://github.com/jeelabs/esp-link (https://github.com/jeelabs/esp-link).


It provides a serial-wifi bridge. After flashing you connect your pc/mac directly to the module's ssid and then through web pages, connect to your local network. Then you can telnet directly to the ip address of the module and communicate over serial directly to the UART pins.


It can also be used to flash the microcontroller over wifi. There's examples for Arduino and ARM. I read something about updating a PIC bootloader to flash over the UART rather than ISCP, but I can't find it now..


I set the speed of the Usifac though your |set command and matched the speed of the esp though the admin web page. I was trying to get a reverse shell from osx using ncat/netcat/socat but I had no joy. I think it's a unix TERM issue.


Using


ncat IPADDRESS 23 -e /bin/sh


commands were sent from your |ter program but not recognised. I had no problems sending plain text each way.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 07:23, 20 April 21
Since you can send/receive characters without problem, maybe commands need <CR>+<LF> at the end to be executed, just like AT commands.
I've added this kind of functionality on |TER terminal, by pressing <clr> key. So, before giving the ncat command, press clr,you will get <CR>+<LF>=ON message (this means that <CR>+<LF> will be also sent at the end of string), and then type the command, maybe this way it ill work.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: issalig on 09:25, 20 April 21
Hi, I am trying Amstrad Diagnostics (https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/amstrad-diagnostics-rom/ (https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/amstrad-diagnostics-rom/))
I think it would be nice to make it work and have it available under |DIAG command or similar (if there is still space on the PIC)

I attach the 2 files I have tested (built from last version https://github.com/llopis/amstrad-diagnostics ):
- If I try the bin file (|USB ,run "DIAG)  i get "Line too long"
- If I try the  dsk file   (|USB, |MG,"AMSTRA~1.DSK", |FDC, RUN "DIAG) it get a red screen that vanishes into blue and gets stacked while it should not.
I have contacted @llopis (https://www.cpcwiki.eu/forum/index.php?action=profile;u=1728) and he says this about the dsk execution "What you describe is the lower RAM test, which sounds like it runs through, but then it gets stuck maybe trying to page out lower ROM or something like that."
Any hint?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: llopis on 10:04, 20 April 21
With a DSK build, the lower RAM test only works on the screen, so that shouldn't be it. I suspect the problem comes from paging ROMs in and out maybe?
Unfortunately I don't have one of those devices (hoping they become available soon again because I'd love to try it), but since you're building the diagnostics yourself, you can try narrowing down the problem by commenting out some of these calls:
https://github.com/llopis/amstrad-diagnostics/blob/main/src/SystemInfo.asm


Try doing it without the CalculateTotalUpperRAM call and without the DetectModel call and let me know which of those two fixes it. That should help quite a bit. Maybe there's something I can fix from my end to make it work then.
Thanks!

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: issalig on 10:40, 20 April 21
Thanks Noel, commenting out "call CalculateTotalUpperRAM" made it work  8) . (Pls, see attached DSK file without Upper RAM function)

Then checking Lower ROM works good until ROM5 which is the slot using USFIAC and it is filled with small yellow dots but we are on the good track.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 16:20, 20 April 21
Nice utility, but unfortunately the diag.bin inside dsk (i used |DSK command to copy image to a real disk and run it from floppy disk  ;D ), dosen't seem to work on my CPC 6128.
It gives the vanishing red pixels, one long beep, then 2 short beeps and then.... nothing. I tried it, with and without USIfACII connected, i got exactly the same behavior.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: issalig on 17:07, 20 April 21
Have you tried the DSK without upper RAM (DIAGWOUR.DSK https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/usifac-iimake-your-pc-or-usb-stick-an-hdd-for-amstrad-access-dsk-and-many-more!/?action=dlattach;attach=34254 (https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/usifac-iimake-your-pc-or-usb-stick-an-hdd-for-amstrad-access-dsk-and-many-more!/?action=dlattach;attach=34254) )  or the one in the first post?
Anyway, @ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541) how could USIFAC be enabled/disabled/detected?

I tried OUT &FBD1,30 in order to detect it but it gives me error.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 17:16, 20 April 21
Ok, DIAGWOUR.DSK loads program, but it crashes on rom checking when it goes where USIfAC II rom is (i got "Unknown" with red letters on Rom 5)
If you want to disable completely USIfAC board you can just select a rom number bigger the 15 for example: out &fbd2,16. This should set board's rom number to 16, so it will never initialized, thus it would be like board is not connected (and you will not get the USIfAC message on boot) :-)
As for detection, i think the "USIfAC II Enhanced" message on boot screen is quite straight forward :)
Finally, you can check the status of various functions with |STAT command, if all is "OFF", then it's like be in "Stand by" mode, only RSX commands are functioning (and if you want to disable it completely you can set rom number as i already told you).
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: issalig on 18:12, 20 April 21
Yes, Diagnostics fails when analising ROM5 which is USIFAC default and could probably be avoided disabling USIFAC with the command you provided.

Boot message is ok for human interaction but I was thinking a way of detecting USIFAC from code like reading an port address and get a status byte or some signature.Thus Diagnostics could detect USIFAC, disable it, perform ROM tests, and enable it again.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 20:18, 20 April 21
The problem is not the usifac, it's the test rom. it needs to be adapted.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: llopis on 20:37, 20 April 21
Quote from: ikonsgr on 17:16, 20 April 21
Ok, DIAGWOUR.DSK loads program, but it crashes on rom checking when it goes where USIfAC II rom is (i got "Unknown" with red letters on Rom 5)
If you want to disable completely USIfAC board you can just select a rom number bigger the 15 for example: out &fbd2,16. This should set board's rom number to 16, so it will never initialized, thus it would be like board is not connected (and you will not get the USIfAC message on boot) :-)
Yes, that's not a problem that it says unknown. It says that about any ROM that is not one of the official system ROMs. The part I should try to fix is why it crashes when checking the upper RAM total. USIfAC doesn't add any RAM, right? That's really puzzling.


If nobody figures it out before and sends a fix, whenever I get my own USIfAC board I'll try to figure it out and see if I can modify the diagnostics ROM to work with it.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 20:52, 20 April 21
Quote from: issalig on 18:12, 20 April 21
Yes, Diagnostics fails when analising ROM5 which is USIFAC default and could probably be avoided disabling USIFAC with the command you provided.
Boot message is ok for human interaction but I was thinking a way of detecting USIFAC from code like reading an port address and get a status byte or some signature.Thus Diagnostics could detect USIFAC, disable it, perform ROM tests, and enable it again.

Ok, here is an "advance" trick,to find out if a USIfAC II board is installed (even if it doesn't show boot msg e.g. give a non initiliazed rom number):
out &fbd1,30: if inp(&fbd0)=83 then print "USIfAC II board is installed" 
kids don't try it at home!  :laugh:

Btw,i tried what you proposed and it seems to work: if you give an out &fbd2,16, usifac is disabled (no program will find anything at rom 5  :) ) , but then you can change it back to rom 5 (by simply giving again out &fbd2,5) , and everything works again, without needing to reset or anything!  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: llopis on 21:01, 20 April 21
Quote from: ikonsgr on 20:52, 20 April 21
Ok, here is an "advance" trick,to find out if a USIfAC II board is installed (even if it doesn't show boot msg e.g. give a non initiliazed rom number):
out &fbd1,30: if inp(&fbd0)=83 then print "USIfAC II board is installed" 
kids don't try it at home!  :laugh:
In theory there's nothing that USIfAC does that should be causing that. So I'd rather figure out what's going on than add a detection and disable it. It's just an upper ROM, right? I can't imagine why it would be causing the program to hang like that.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 21:06, 20 April 21
@llopis (https://www.cpcwiki.eu/forum/index.php?action=profile;u=1728), if it helps, this is the starting part and initialization code of the USIfAC II rom code:
ORG #C000 ;Start of ROM
DEFB 1 ;Background ROM
DEFB 0 ;Mark 0
DEFB 5 ;Version 5
DEFB 0 ;Modification 0
DEFW NAME_TABLE ;Address of name table

JP initialize
JP terminal
JP help
JP galachip
JP pacman
JP kgor
JP setwifi
JP format
JP change_dir
JP enable
JP enable2
JP topc
JP frompc
JP catalogue
JP comm
JP image
JP fdc
JP setspeed
JP dsk
JP delete
JP cpc464
JP status
JP usbset
JP filecopy
JP writerom
JP readrom
JP rootdir
JP deleteroutine
JP dos
JP makedir
JP disable
JP image2
JP image3
JP image4
JP showimage
JP snap

NAME_TABLE:

DEFB ' IREC','T'+#80
DEFB 'TE','R'+#80
DEFB 'HEL','P'+#80
DEFB 'GAL','A'+#80
DEFB 'PACMA','N'+#80
DEFB 'KGO','R'+#80
DEFB 'WIF','I'+#80
DEFB 'FORMA','T'+#80
DEFB 'C','D'+#80
DEFB 'E','N'+#80
DEFB 'EN','2'+#80
DEFB '2P','C'+#80
DEFB '2CP','C'+#80
DEFB 'CA','T'+#80 
DEFB 'CO','M'+#80
DEFB 'M','G'+#80
DEFB 'FD','C'+#80 
DEFB 'SE','T'+#80
DEFB 'DS','K'+#80
DEFB 'DE','L'+#80
DEFB '46','4'+#80 
DEFB 'STA','T'+#80
DEFB 'US','B'+#80
DEFB 'COP','Y'+#80
DEFB 'WRO','M'+#80
DEFB 'LRO','M'+#80
DEFB 'CD','R'+#80
DEFB 'DEL','D'+#80
DEFB 'DO','S'+#80
DEFB 'M','D'+#80
DEFB 'DI','S'+#80
DEFB 'MG','2'+#80
DEFB 'MG','3'+#80
DEFB 'MG','4'+#80
DEFB 'SM','G'+#80
DEFB 'SN','A'+#80

DEFB 0 ;End of table marker

; ######################################----initialize----##################################################
initialize:
push de
push hl
ld bc,&fbd1
ld hl,init_message
call printmessage

ld bc,&fbd9
ld a,1
out (c),a
ld a,&FB
        in a,(&D3)
cp "/"
jr z,no_clear_path

ld bc,&fbd1
ld a,53
out (c),a    ;start of sub dir, 0=no sub dir

no_clear_path:

ld bc,&FBD4
ld hl,&0006
ld a,(hl)
cp 128 ;128=cpc 464, 145=cpc6128
jr nz,cpc6128

ld a,&FB
        in a,(&DC)
cp &83
jr z,con464

cp 120
jr z,set464

LD a,120
out (c),a
ld bc,&FBD1
ld a,5
out (c),a
call 0

set464:
LD a,&83
out (c),a
ld bc,&FBD1
ld a,4
out (c),a
call 0

con464:
ld hl,&be7d
ld a,&ff
ld (hl),a
ld a,&FB
        in a,(&De)
cp 0
jr z,end3_init
call enable
jr end3_init

cpc6128:
LD a,&66
out (c),a

end3_init:
pop hl
pop de
scf
ret

init_message:
defb " USIfAC II Enhanced",13,10,13,10,0


As you said, is nothing more than a "usual" upper rom, and in compliance with register usage for background roms:
http://cpctech.cpc-live.com/docs/manual/s158se09.pdf
Entry:
DE contains the address of the lowest byte in the memory pool.
HL contains the address of the highest byte in the memory pool.
Exit:
If the initialization was successful:
Carry true.
DE contains the new address of the lowest byte in the memory pool.
HL contains the new address of the highest byte in the memory pool.  (HL ,DE returned unchanged)
If the initialization failed:
Carry false.
DE and HL preserved.
Always:
A, BC and other flags corrupt.
All other registers preserved.

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: issalig on 11:35, 01 May 21
I was going to check that FW but the file appears not to be available anymore. :(

[EDIT] [SOLVED] You can get it from here https://www.dropbox.com/sh/ezzga2dppm6jlm7/AACwFC_rv2QatWh_ndKc9fhma?dl=0 (https://www.dropbox.com/sh/ezzga2dppm6jlm7/AACwFC_rv2QatWh_ndKc9fhma?dl=0)

I have fought a lot in order to flash the ESP-07, thus I leave here some recipes that I hope it will help you (if you try in Linux you should be in dialout group  and maybe you will require root privileges)
Before start flashing I recommend to back up the existing fw, so you can always go back.
#backup
esptool.py --port /dev/ttyUSB0 read_flash 0x00000 0x100000 backup.bin
#flash
esptool.py --port /dev/ttyUSB0 write_flash --flash_size 1MB --flash_mode dout 0x00000 YOUR_NEW_FW.bin

Esptool can be installed with  "pip install –upgrade esptool"


Quote from: ikonsgr on 17:15, 17 April 21Download this: https://www.dropbox.com/s/bt29v0a32ucktvv/ESP8266_flasher.zip?dl=0 (https://www.dropbox.com/s/bt29v0a32ucktvv/ESP8266_flasher.zip?dl=0)
Just run "esp8266_flasher.exe", click "BIN" button and select the included: "HS06F014 ESP-01S.bin", set your com port number and press "download".
This must be the easiest way to flash a wifi module.
Btw, i found out why mysteriously all my wifi modules stopped working: firewall blocked access to windows utility TCP server (i suspect the antivirus involved in this...)
So, if your Wifi module can't connect to PC check windows firewall settings, if there is any inbound rule that block access of the Amstrad utility.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: zhulien on 17:13, 02 May 21
Quote from: GUNHED on 20:19, 07 December 20
Please - everybody - consider to also support the 0,7 MB Vortex format. In Gemany (at least) it still is/was the 80 track standard format for floppy discs. The big companies like Dobbertin, Vortex ... all did support it.  :) :) :)


Please everyone support the Vortex CP/M format too, that is super popular here in Australia and we usually use the SUPER formatter on the SUPER ROM which is easily available online.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 10:47, 03 May 21
@issalig (https://www.cpcwiki.eu/forum/index.php?action=profile;u=4140), link is working again  :)
@zhulien (https://www.cpcwiki.eu/forum/index.php?action=profile;u=58), most probable Vortex is directly supported as explained (https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/universal-serial-interface-for-amstrad-cpc/msg190714/#msg190714) to Gunhead some time ago
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Philippe Lardenois on 10:49, 03 May 21
Great - now Everything is working well after reflashing my ESP Wifi Module.


fully opérationnal.


Thanks for your help mates


+
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 17:04, 03 May 21
Quote from: ikonsgr on 10:47, 03 May 21
@zhulien (https://www.cpcwiki.eu/forum/index.php?action=profile;u=58), most probable Vortex is directly supported as explained (https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/universal-serial-interface-for-amstrad-cpc/msg190714/#msg190714) to Gunhead some time ago
Let's be careful. One is a disc format - the other one is a disc drive. But I'm confident they both work.  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: zhulien on 01:50, 04 May 21
has anyone tried a USB floppy drive with USIfAC II?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 04:04, 04 May 21
@zhulien (https://www.cpcwiki.eu/forum/index.php?action=profile;u=58)


Yes, it does not work


I tried 5 external USB Drives


Ray
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 09:48, 04 May 21
Major Update:

Firmware update (ver. 4):
- Bug fix: When saving a file, Dsk Image name in slot 1, changed to name of saved file.
- Code optimization of Board's Rom assembly code.
- |CD & |CAT arguments, now support lower case letters too.
- New Command: |SNA, for loading SNA snapshot files (note that snapshot files must be uncompressed)!

Update Amstrad CPC Loader creator program: Add support for sna snapshot files, along with direct files & dsk images. Also Subfolders inside main folder,can now have multiple .dsk or .sna files  (previous version supported only one dsk image in each subfolder)!

Update User's Guide: Many additions and changes to match the new board with extra features.

Add a new "inner working" section: Here: https://www.dropbox.com/sh/ua4vgf6qjjmqlnq/AACT6kqTr-sst-iqDeBnE9gRa?dl=0], you can find all assembly code used in the Usifac II project, along with board schematics, and hex file/assembly source code for PIC18F47Q10 mcu.

Now, this one (loading snapshot files),as easy as it may sound (just copy mem dump to amstrad's memory and set all registeres), was really tough to make it work right, to get an idea, here is the code for the routine:
snap:
cp 0
jp z,no_file_sel
ld b,a
call check_usb_en
ld a,b
cp 1
jr z,sna_def_addr
cp 2
jr z,sna_load_addr
jp error_ucd ;error more than one parameters!

sna_def_addr:
ld a,220
ld bc,&fbde ;next_in=220
out (c),a
ld c,&d7 ;with no address argument set fix address=&ffa6
ld a,&a6 ;low byte of final code address
out (c),a ;put it to buffer(220)
ld a,&ff ;high byte of final code address
out (c),a ;put it to buffer(221)
call get_arg ;e=snapshot name size, hl=address of name
jr continue_1

sna_load_addr:

ld a,220
ld bc,&fbde ;next_in=220
out (c),a
ld c,&d7
ld a,(ix+0) ;low byte of final code address
out (c),a ;put it to buffer(220)
ld a,(ix+1) ;high byte of final code address
out (c),a ;put it to buffer(221)

ld l,(ix+2) ;image name is on the 2nd argument
ld h,(ix+3)
call get_arg2

continue_1:
call set_directory
ld bc,&fbd0
ld a,&57
out (c),a
ld a,&ab
out (c),a
ld a,&2f
out (c),a

ld c,&d9
ld a,1
out (c),a
ld c,&d0
ld a,&FB
        in a,(&D3)
cp 0
jp nz,continue_snaopen
ld a,"/"
out (c),a

continue_snaopen:
inc b
outi ; ld a,(hl)->out (c),a->hl=hl+1
dec e
jr nz,continue_snaopen

xor a
out (c),a

call clear_buffer
ld a,&57
out (c),a
ld a,&ab
out (c),a
ld a,&32
out (c),a

call check_responce2
ld A,&FB
        in A,(&D0) 
cp &14
jp z,continue_snaload
inc c
ld a,5
out (c),a
jp no_file_sel

continue_snaload: ;; &1f2 first 7 bytes checksum fro snapshot files!

ld hl,0
ld de,0
call seek
in a,(c)
cp &14
jp nz,error_ucd
ld e,8
call fetch
ld b,8
ld hl,0
ld de,0
crc_sum:
ld a,&FB
        in a,(&D0)
ld e,a
add hl,de
djnz ,crc_sum
; dec b
; jr nz,crc_sum

ld a,l
cp &f2
jp nz,no_file_sel
ld a,h
cp 1
jp nz,no_file_sel

ld bc,&fbd0
ld hl,&6b
ld de,0
call seek
in a,(c)
cp &14
jp nz,error_ucd
ld e,1
call fetch

in a,(c) ;;byte &6b, MEMORY DUMP SIZE:&80=128kb else 64kb
ld c,&dc
out (c),a

ld c,&d0
ld hl,&180 ;set sna file pointer to 1st byte of 1st 64k memory dump
ld de,0
call seek
in a,(c)
cp &14
jp nz,error_ucd

;#######################----------------------------------------------------------------------------------
di

ld bc,&7f84
out (c),c ;disable lower rom

sna_ram_code:
ld hl, sna_code
ld de, 0
ld bc, 102
ldir
ld hl,&7f
ld sp,hl ;set temporary stack pointer to &7f

ld hl,&80 ;#####
ld bc,&fbd1
ld a,40 ;empty data buffer=0
out (c),a
dec c
jp ;call routine to transfer all 64K except first 128bytes
inc c
ld a,41 ;empty data buffer=1
out (c),a
;--------------------------------------------------
ld hl,&bff0 ;temporary stack pointer @ &bff0
ld sp,hl ;set temporary stack pointer
dec hl ;hl=sp-1 address position

ld bc,&fbde
ld a,210
out (c),a ;next_in=210

ld e,10
ld c,&d7
stack_save:
ld a,(hl) ;save 5 postions of temp stack pointer to buffer(210-219)
out (c),a
dec hl
dec e
jr nz,stack_save
;--------------------------------------------------
ld c,&d0 ;bc=&fbd0
ld a,&FB
        in a,(&D7) ;if inp(&fbd7)=128 then copy 2nd 64k dump
cp 128
jr z,large_sna
cp 100 ;if inp(&fbd7)=100 then copy of 2nd 64k dump is finished proceed
jr nz,normal_sna ; else
ld de,1
call sna_copy_128
ld hl,&bfef ;hl=sp->-1 address position &bff0-1
ld bc,&fbdb
ld a,210
out (c),a ;next_out=210
ld e,10
ld c,&d0
stack_load3: ;restore 5 postions of temp stack pointer from buffer(210-219)
in a,(c)
ld (hl),a
dec hl
dec e
jr nz,stack_load3

ld b,&7f
ld a,192
out (c),a ;change to 1st 64k RAM bank

jp end_sna_routine

normal_sna:
ld de,0
call sna_copy_128
ld hl,&bfef ;hl=sp->-1 address position &bff0-1
ld bc,&fbdb
ld a,210
out (c),a ;next_out=210
ld e,10
ld c,&d0
stack_load: ;restore 5 postions of temp stack pointer from buffer(210-219)
in a,(c)
ld (hl),a
dec hl
dec e
jr nz,stack_load
jr end_sna_routine

large_sna:
ld de,0
call sna_copy_128
ld hl,&bfef ;hl=sp->-1 address position &bff0-1
ld bc,&fbdb
ld a,210
out (c),a ;next_out=210
ld e,10
ld c,&d0
stack_load2: ;restore 5 postions of stack pointer to buffer(210-219)
in a,(c)
ld (hl),a
dec hl
dec e
jr nz,stack_load2

ld b,&7f
ld a,194
out (c),a ;change to 2nd 64k RAM bank
ld bc,&fbdc
ld a,100 ;from now on inp(&FBD7) will return 100
out (c),a

ld c,&D0
ld de,1
ld hl,&180 ;set file pointer to 1st byte of 1st 64k memory dump
call seek
in a,(c)
cp &14
jp nz,error_ucd
jp sna_ram_code

;-----------------------------####################################---------------------------------------------------

sna_copy_128:
ld hl,&100 ;set file pointer to 1st byte of 1st 64k memory dump
call seek
in a,(c)
cp &14
jp nz,error_ucd
ld e,128
call fetch
ld hl,0
ld bc,&fbd0
load_data_loop2:
inc c
check_sna:
in a,(c)
cp 1
        JR Z,check_sna
dec c
ini
inc b
dec e
jr nz, load_data_loop2
ret

;--------------###############################################-----------------------

end_sna_routine:


ld bc,&fbde ;set next_in=150
ld a,150
out (c),a

ld hl,temp_code
ld d,5
ld c,&d7
save_bytes:
ld a,(hl) ;buffer(next_in)=(hl) ;save the 5bytes where temp_code goes,to restore them in final code
out (c),a
inc hl
dec d
jr nz,save_bytes

ld hl,temp_code+4
ld sp,hl ;put temporary stack pointer at address (temp code+4)

ld bc,&fbd0
ld de,0
ld hl,0 ;set file pointer to 1st byte of 1st 64k memory dump
call seek
in a,(c)
cp &14
jp nz,error_ucd

ld e,115
call fetch

ld bc,5000
call delay_loop ;give time to recieve 115 bytes from header snap file

ld bc,&fbd0
ld a,&57 ;close file
out (c),a
ld a,&ab
out (c),a
ld a,&36
out (c),a
xor a
out (c),a

;##############################--------------snap_registers---------------------------############################

call get_final_addr
ld e,l
ld d,h

ld hl, final_code      ;this is the final code & executed from ram just before jump to PC
ld bc, 41
ldir

ld bc,&fbdb
ld a,&1b              ;buffer pointer to &19 position R register
out (c),a

ld a,&FB ;R register
        in a,(&D0)
ld r,a
ld a,&FB ;I register
        in a,(&D0)
ld i,a

ld a,&FB ;interrupt Flip flop
        in a,(&D0)
cp 0
jr z,cont_sna_2
call get_final_addr
ld bc,37             ;offset +37 for save interrupt FLIP-FLOP state at final code
add hl,bc
ld a,&fb ;&FB=EI
ld (hl),a 


cont_sna_2:

; out (c),a

ld a,&FB ;IFF2=IFF1 pass to next byte
        in a,(&D0) 

ld a,&FB
        in a,(&D0)  ;a=X
ld l,a
ld a,&FB
        in a,(&D0)  ;a=I
ld h,a
push hl
pop IX

ld a,&FB
        in a,(&D0)  ;a=Y
ld l,a
ld a,&FB
        in a,(&D0)  ;a=I
ld h,a
push hl
pop IY

ld bc,&fbde ;next_in=200
ld a,200
out (c),a

ld a,&FB ;Save Stack pointer at buffer(200+201)
        in a,(&D0)  ;a=P
ld c,&d7
out (c),a

ld a,&FB
        in a,(&D0)  ;a=S
out (c),a

call get_final_addr
ld bc,&27 ;offset for placing Program counter to final code
add hl,bc
ld a,&FB
        in a,(&D0) 
ld (hl),a
inc hl
ld a,&FB
        in a,(&D0) 
ld (hl),a

ld a,&FB ;interrupt mode
        in a,(&D0)

cp 0
jr nz, not_im0
im 0
jr cont_sna_1
not_im0:
cp 1
jr nz, not_im1
im 1
jr cont_sna_1
not_im1:
im 2

cont_sna_1:

ld a,&FB
        in a,(&D0)  ;a=F'
ld l,a
ld a,&FB
        in a,(&D0)  ;a=A'
ld h,a
push hl
pop af
ex af,af'

ld a,&FB
        in a,(&D0)  ;a=C'
ld c,a
ld a,&FB
        in a,(&D0)  ;a=B'
ld b,a
ld a,&FB
        in a,(&D0)  ;a=E'
ld e,a
ld a,&FB
        in a,(&D0)  ;a=D'
ld d,a
ld a,&FB
        in a,(&D0)  ;a=L'
ld l,a
ld a,&FB
        in a,(&D0)  ;a=H'
ld h,a
exx

ld bc,&fbdb ;+2 offset for all bytes from buffer
ld a,&43 ;buffer pointer to &1a position R register
out (c),a
ld a,&FB ; ram config
        in a,(&c0) ;&FBC0=REVERSE order next_out=next_out-1!
or &c0 ;set bit 7&6 to '1'->setup ram configuration
ld bc,&7f00
out (c),a

call get_final_addr
ld bc,&12
add hl,bc ;place GA multi configuration byte to final code
ld a,&FB ;GA multi configuration byte, screen mode & roms upper/lower en/dis
        in a,(&C0)
set 7,a
res 6,a ;bit 7=1, bit 5,6=0
res 5,a

ld (hl),a ;place GA multi configuration byte to final code
inc hl
ld a,&7f
ld (hl),a


ld bc,&7F10

SNA_SetupGA:
out (c),c
ld a,&FB
        in a,(&C0)
set 6,a
out (c),a
dec c
jp p,SNA_SetupGA

; Select last active pen
ld a,&FB
        in a,(&C0)
out (c),a 
; CRTC setup

ld bc,&fbdb ;+2 offset for all bytes from buffer
ld a,&57 ; current rom selection and then CRTC registers
out (c),a

call get_final_addr ;;place upper rom selection byte to final code
ld bc,&17
add hl,bc
ld a,&FB
        in a,(&C0)
ld (hl),a
inc hl
ld a,&df
ld (hl),a

ld bc,&BC00+17
SNA_SetupCRTC: ;out &bcxx select register out &BDXX WRITE REGISTER

out (c),c
ld a,&FB
        in a,(&C0)
inc b
out (c),a
dec b
dec c
jp p,SNA_SetupCRTC
; Select active CRTC register
ld a,&FB
        in a,(&C0)
out (c),a

ld bc,&f782
out (c),c ;set PSG PORT A to output for writing registers first!

ld bc,&fbdb ;+2 offset for all bytes from buffer
ld a,&6c ;buffer pointer to &1a position R register
out (c),a
ld e,15
SNA_SetupAY3:
ld bc,&F4C0
out (c),e
ld b, &F6
out (c),c
defb &ED, &71
dec b
dec b
ld a,&FB
        in a,(&C0)
out (c),a

ld bc,&F680
out (c),c
defb &ED, &71

dec e
jp p,SNA_SetupAY3
; Select last active AY3 register
ld bc,&F4C0
ld a,&FB
        in a,(&C0)
out (c),a
ld b,&F6
out (c),c
defb &ED, &71

ld bc,&f700
ld a,&FB ;PPI control port byte
        in a,(&C0)
out (c),a

ld l,a
ld b,&F6
ld a,&FB ;set PORT C byte
        in a,(&C0)
out (c),a

ld a,l
cp &82
jr nz,no_set_porta
ld a,&FB ;PORT B byte, always input-no use
        in a,(&C0)
ld a,&FB ;set PORT A byte
        in a,(&C0)
ld b,&F4
out (C),a

no_set_porta:
;------end of routine

ld bc,&fbdb
ld a,&13 ;buffer pointer to &12 position F register
out (c),a

ld a,&FB
        in a,(&D0)  ;a=F
ld l,a
ld a,&FB
        in a,(&D0)  ;a=A
ld h,a
push hl

ld bc,&fbde ;next_in=202
ld a,202
out (c),a
ld c,&d7 ;save A register to buffer(202)
out (c),h

call get_final_addr
ld bc,&1c ;place BC to final code
add hl,bc

ld a,&FB
        in a,(&D0)  ;a=C
ld (hl),a
inc hl
ld a,&FB
        in a,(&D0)  ;a=B
ld (hl),a

ld a,&FB
        in a,(&D0)  ;a=E
ld e,a
ld a,&FB
        in a,(&D0)  ;a=D
ld d,a

inc hl
inc hl

ld a,&FB ;place HL to final code
        in a,(&D0)  ;a=L
ld (hl),a
inc hl
ld a,&FB
        in a,(&D0)  ;a=H
ld (hl),a


cont_sna_end:

pop af ;restore flag register from temporary stack@address temp_code+4

ld bc,temp_code
ld a,&ed ;ED 79= OUT(C),A
ld (bc),a
inc bc
ld a,&79
ld (bc),a
inc bc
ld a,&c3 ;JUMP TO
ld (bc),a

ld l,c
ld h,b
ld bc,&fbde
ld a,220
out (c),a ;next_in=220
ld c,l
ld b,h
inc bc
ld a,&fb        ;a=buffer(next_in)
in a,(&c1)
ld (bc),a
inc bc
ld a,&fb        ;a=buffer(next_in)
in a,(&c1)
ld (bc),a

ld bc,&fbdb        ;restore SP from buffer(200-201)
ld a,200
out (c),a
ld a,&fb
in a,(&d0)
ld l,a
ld a,&fb
in a,(&d0)
ld h,a
ld sp,hl

ld bc,&7f00
ld a,&8c   ;disable both upper+lower roms!
ld hl,temp_code

jp temp_code ;last instruction!

final_code:

defb 1,222,251,62,150,237,121,6,5,62,251,219,193,119,35,16,248,1,0,0,237,73,1,0,0,237,73,1,0,0,33,0,0,62,251,219,208,0,195,0,0

sna_code:

defb 30,128,205,95,0,62,87,237,121,62,171,237,121,62,58,237,121,237,89,175,237,121,205,88,0,237,120,205,95,0,62,87,237,121,62,171,237,121,62,39,237,121
defb 205,88,0,237,120,202,144,245,95,12,237,120,40,252,13,237,162,4,29,32,244,205,95,0,62,87,237,121,62,171,237,121,62,59,237,121,205,88,0,124,181
defb 32,171,195,144,245,12,237,120,40,252,13,201,12,62,1,237,121,13,201


The main problem i encountered was placement of the Stack and a small final code  that needs to be executed from ram (GA rom configuraton and final jump to PC along with restoring of a few bytes). Using spare parts in video memory (for example: &FFD0-&FFFF) is not working all the time, because tests revealed that games often use these parts for placing code! So in order to find a way to overcome this problem, i designed |SNA command with an optional memory address argument (|SNA,"name",&xxxx) to place final code into the specific address instead of the deafult @&FFA6 (e.g. some screen bytes at right bottom corner,which prooved to have better results than using a spare part).
But where will that address be, you may ask?
Well, in order to find out that,i  expand the Basic loader creator utlity, to include sna files, that, apart from creating the required commands in the Basic listing, it also searches the entire snapshot memory dump to find an "empty" place (search for 40 sequnetial bytes that have same value) for the final code. Using this method, i've have tested more than 100 sna files and all seem to load fine!
The only "problem" i still have is that sna files need to be uncompressed, but the sna archive (https://www.cpcwiki.eu/index.php/Snapshot_Archive) in cpc wiki have all files in compressed form. Is there any easy way to create uncompressed sna files from compressed ones?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: issalig on 10:33, 04 May 21
Wow, this is a great update. I am gonna flash the new FW ASAP

And thanks a lot @ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541) for sharing the "Inner Workings".
There is a lot of interesting stuff there. In the beginning I was surprised you coded the PIC directly in ASM  :o , but then I have realized that GBC generates those files before linking them into  the hex file. Now struggling to generate flash from asm file. It looks that pic18f47q10.inc is missing in GBC distribution, maybe mpasm has it.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 09:09, 05 May 21
Quote from: issalig on 10:33, 04 May 21
Wow, this is a great update. I am gonna flash the new FW ASAP

And thanks a lot @ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541) for sharing the "Inner Workings".
There is a lot of interesting stuff there. In the beginning I was surprised you coded the PIC directly in ASM  :o , but then I have realized that GBC generates those files before linking them into  the hex file. Now struggling to generate flash from asm file. It looks that pic18f47q10.inc is missing in GBC distribution, maybe mpasm has it.

This is an intermediate file generated by cowbasic compiler so i doubt you can find it anywhere. :)
Anyway, i've added the GCB source code too (18f47q10_gcb_source), so you can install cowbasic (use the latest RC from here: https://sourceforge.net/projects/gcbasic/files/Release%20Candidates/ ) and compile it from there  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ajcasado on 09:52, 05 May 21
Quote from: ikonsgr on 09:09, 05 May 21Anyway, i've added the GCB source code too
Thanks for the source!!!, it's a great contribution.
Title: "no USB Device found"
Post by: eto on 20:47, 05 May 21
what am I doing wrong if I get that message after typing |USB?

USB Stick is 4GB Fat32, USB 2.0


Update:
I tried with 2 more sticks: USB 3.0, 32GB and 64GB

First the 32GB stick didn't work. I could type |USB, but then it said it would be empty. As I had to format with the 64GB stick with a third party tool, I recognized  that this stick was accepted and showed the contents. I then also formatted the 32GB stick with the same tool, and then the stick was recognized and worked also.
 

Unfortunately the 4GB sticks still don't work, even if formatted with the same tool.

Is there any known limitation regarding which sticks will not be accepted?
Title: Re: "no USB Device found"
Post by: ikonsgr on 21:39, 05 May 21
Quote from: eto on 20:47, 05 May 21
what am I doing wrong if I get that message after typing |USB?
USB Stick is 4GB Fat32, USB 2.0
Update:
I tried with 2 more sticks: USB 3.0, 32GB and 64GB
First the 32GB stick didn't work. I could type |USB, but then it said it would be empty. As I had to format with the 64GB stick with a third party tool, I recognized  that this stick was accepted and showed the contents. I then also formatted the 32GB stick with the same tool, and then the stick was recognized and worked also.
Unfortunately the 4GB sticks still don't work, even if formatted with the same tool.
Is there any known limitation regarding which sticks will not be accepted?

Indeed, some usb host modules seem to be a bit "picky", regarding the flash drive you will use, but i have found an easy solution to that: Just create a small (like 256mb or so) FAT partition:
https://www.diskpart.com/articles/how-to-partition-usb-drive-3889.html
I've try this method with 4gb and 32gb usb sticks and worked, so i guess this "trick" most probable will solve the problem.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 22:02, 05 May 21
Quote from: ikonsgr on 21:39, 05 May 21so i guess this "trick" most probable will solve the problem.


unfortunately not. They don't work :-( Too sad.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 22:11, 05 May 21
Ok, does the usb host module lights up when you give |USB?
If not, and you get an error message all the time (eve if you have a small fat partition) , then the usb stick you are using is probably... "too incompatible" for the module to recognize it at first place.
You can also try a real small usb drive (of less than 512mb), as they are still available  (https://www.ebay.ie/itm/393109671969?_trkparms=ispr%3D1&hash=item5b87299021:g:SLMAAOSwfS5gD8ly&amdata=enc%3AAQAFAAACgBaobrjLl8XobRIiIML1V4Imu%252Fn%252BzU5L90Z278x5ickkyMJZWL%252BqFSgQ3TOOe%252FNr7tDu5VxGM0%252FuCNEA2FMfbI71%252BldQsZE1gx968SMSnwh20KZpwrKOBFobrvf7PnrGTrnmubuSg%252FlrYuh%252Fs5QfW3ZjUgWoJLz6wz9lqAW8Z143prbnbS70PMZOKq9QFoK9%252FTHgCF35zYx713OiCk66ETp1fN4t7HYdNAPQ5s78Dq6wUc%252FV5ASaS16fXBGRoEANmO1qQR9BevsznTxQAmZMZrK2s1clM2dqN3h6VNtSNTNASRy0WsrkI1qb1eAN6aRrcr0%252F1Vr%252FeVw5DQGDG82hXbEsBTmjINoK3bZLeMPYCmIN6q0wKmhFP%252BgRAuCB%252B8jaTprBcZE83GMYNJN5QZT5BCVFWGOdIlh8WVGmjR3nj8amsDw9mq%252FAn0UBFCouYt8wnYt92DNB%252BZEV2y52qIHqgi%252BpmCuX9Ds3pvfBEA1fpiIe5q6Gp8vGSGpe2bqvEIDocEcMKRK%252BlxvULeQLIJ3y8HV1nG%252BPCZVsnU0BG7pg08o6nY8lnt%252BiMi4V84nNjN77qvtKFcIXO5QzTmzZKB8sHb0RvJ1ikSlpsfW%252B5%252BpODetKhDHBML7zjJCSAjpL77fpfsxVTiCh9RbPtnKHEESheg8MdFCvpplMF33PG%252Be6o2eM5nTZWshPxTJEvIHzt%252FuxUoay9N3jbDjT38tj7Ke%252FqG0UPJNKuryp8y9jTHxiGOHyl0hEgvVvL%252BjXvWlQ2QLXgJDks2Awyemvons4YyJEhC2EApyABbAMPwU9Ls0NhADBpfu6YSaSLAilW2ReLwid3IfdKesjvqUFuUhG801NOzo%253D%7Ccksum%3A393109671969dea9c1fa6477415c8724f0bdba288f3c%7Campid%3APL_CLK%7Cclp%3A2334524)at very cheap prices
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 22:48, 05 May 21
Quote from: ikonsgr on 21:39, 05 May 21I've try this method with 4gb and 32gb usb sticks and worked, so i guess this "trick" most probable will solve the problem.

So none of my sticks worked in the first place but I could get ALL the USB 3.0 sticks to work with their full size by doing the following:
- delete partition and then create a new partition in Windows Computer Management, assign a drive letter (e.g. X), BUT do not format it here. (Windows will assign the drive letter and immediately moan about the non-formatted stick. DO NOT FORMAT!)
- then run command line tool "h2format.exe X:" (http://www.heise.de/software/download/h2format/40825 - German, just use Google translate, pretty straight forward)

After this, the USB stick will be accepted.

The USB 2.0 sticks do still not work. The USB host module lights up, but then I get the "no USB Device found" error message.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 00:29, 06 May 21
@ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541)


John I will do a test with Version 4 on my old boards and see what happens


Keep Safe


Ray
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 00:31, 06 May 21
Two further issues:

1) One of my USIfAC II doesn't do anything. It's connected and nothing happens. Any idea what I could check?

UPDATE: out &fbd2,5 fixed this issue. It probably was because I was trying it on both the 6128 and the 464 and then on the 464 I also typed |FDC. After a reset, the Usifac was inactive. As this can easily happen, it might be good to add that to the hints section.


2) My other UsiFac works fine on my 6128, but on the 464 it behaves differently. When turning on, the 464 stops when displaying the start up screen, just before the USIFAC message should appear. After pressing reset, it boots fully to the READY prompt (at least most of the times, but not always). Then I can navigate through the USB directories and start something - but when I then press RESET, the startup screen will again stop in between and a reset will no longer help. I have to turn off the computer for a few seconds, then I can start it again.

UPDATE: added screenshot
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 00:35, 06 May 21
@eto (https://www.cpcwiki.eu/forum/index.php?action=profile;u=3625)


Perhaps the edge connection on the Motherboard is dirty ?


Keep Safe


Ray
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 00:40, 06 May 21
Quote from: Audronic on 00:35, 06 May 21Perhaps the edge connection on the Motherboard is dirty ?

Unlikely. The second USIfAC works without problems.

Also the non-working USUfAC also doesn't work on a 6128 with Centronics connector.

UPDATE: non working usifac fixed. See post above
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 01:21, 06 May 21
Quote from: Audronic on 00:29, 06 May 21
@ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541)

John I will do a test with Version 4 on my old boards and see what happens



Version 4 appears to be Ok with the old Boards, |USB OK, files OK. .DSK OK


Thanks


Ray
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 18:02, 06 May 21
Quote from: eto on 00:31, 06 May 21
2) My other UsiFac works fine on my 6128, but on the 464 it behaves differently. When turning on, the 464 stops when displaying the start up screen, just before the USIFAC message should appear. After pressing reset, it boots fully to the READY prompt (at least most of the times, but not always). Then I can navigate through the USB directories and start something - but when I then press RESET, the startup screen will again stop in between and a reset will no longer help. I have to turn off the computer for a few seconds, then I can start it again.

This is most likely a connection problem, usually with the ribbon cable. I had such erratic behavior some time ago, boot problems, hang ups and crashes for no apparent reason etc.  Finally i discover that the culprit was the edge connector ribbon cable i was using. When i've change it with a new one, all problems solved!  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Philippe Lardenois on 17:05, 07 May 21
Whaou. huge update.
Will test it on sunday..
Thanks for the SNA add-on


Phil
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 19:14, 07 May 21
I've added an SNA folder in to USIfAC II assets place:
https://www.dropbox.com/s/35p7s61gvem1r8b/SNA.zip?dl=0
It contains more than 350 snapshot files of games, along with Basic loaders for easy loading!  ;)
Just copy the entire SNA folder to a usb stick and choose any BAS file for direct loading of snapshot!:-)
Btw, is there an easy way to get the uncompressed form of a compressed snapshot file, like the ones in cpcwiki archive (https://www.cpcwiki.eu/index.php/Snapshot_Archive)?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: issalig on 19:29, 10 May 21
As a linux user I have tried to use AmstradUtilityII.exe with little luck. Sometimes it works under WINE but other does not.

Option A python way
So, I decided to get Wireshark and do a python script that now has receiveFromCPC and Terminal options. The other options I guess are more difficult to implement that just sniffing network traffic.
https://github.com/issalig/cpc/blob/main/sw/usifac_transfer.py (https://github.com/issalig/cpc/blob/main/sw/usifac_transfer.py)

To get a file from the CPC just call first "python usifac_transfer.py -r -p YOURPORT"
There is also a tools to convert a binary to defb in order to call BASIC from RSX 8) https://github.com/issalig/cpc/blob/main/sw/bin2txt.py (https://github.com/issalig/cpc/blob/main/sw/bin2txt.py)


Enjoy.


Option B just from bash (simple but effective):https://github.com/issalig/cpc/blob/main/sw/usifac_receive.sh (https://github.com/issalig/usifac_tools/blob/main/usifac_transfer.py)
#Set a server listening on a given port and redirect output to a file
#|2PC on the CPC
#Then press 1 and enter on the PC to start transferring from CPC
#Finish reception with Ctrl+C when motor stops or use -w10

MYPORT="10000"

echo "Server started. Press 1 + Enter to start downloading"
echo "Set -w10 to a proper value if not enough"
nc -w10 -l $MYPORT > MYFILERAW

#Get name and remove spaces
MYFILE=`head -12c MYFILERAW | tr -d " " `

echo "Saving $MYFILE"

#Then, strip first 12 bytes and we are done
tail +13c MYFILERAW > $MYFILE

rm MYFILERAW

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 15:10, 11 May 21
Another "3rd party support" for USIfAC II, Great!  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: issalig on 19:03, 17 May 21
Hi, I have started looking at the code of USIFAC but I have realised I need to learn a lot of things before, thus I am documenting my learning process and you can check it on https://www.cpcwiki.eu/forum/programming/my-journey-into-z80-and-cpc/
I have included the code to write BASIC on RAM  that @ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541) uses and will I include more things for sure. My final idea is to describe how to do a simple foreground ROM, so that more people understand it and can contriubute to USIFAC development and new ideas.
Enjoy it!
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: kolleykibber on 16:28, 21 May 21
Hi All,


I noticed a mention in the forum about getting the USIFAC working with Ewenterm, but I couldn't find any code so I had a go today and managed to get it working. Apologies if this is already up somewhere.


I'm using esp-link on the esp8266 wifi module, which has a serial/wifi socket link. And I'm using ncat on a bash box to connect to servers. I've attached a couple of pics of the amstrad BBS and a local retropie. It's very usable.


Here's an example of the netcat command I'm using where the IP address is the esp8266


stty -icanon && ncat  -C 192.168.1.124 23 -e "telnet amstrad.simulant.uk 464"


I've attached a dsk with updated readme and code.


Thanks to @ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541) and Ewen of Ewenterm for giving me some fun with this!
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 18:25, 21 May 21
@kolleykibber (https://www.cpcwiki.eu/forum/index.php?action=profile;u=4071), very nice work, and well documented!  :)
I could also add this to Usifac's public folder for anyone who want to use it, under a "Connect to bbs" folder maybe?  ::)
Btw, i've extracted readme and manual text files from dsk image, for easier acccess (and maybe it would be a good idea to make a small program for reading txt files on Amstrd cpc directly  :D )
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: kolleykibber on 22:02, 21 May 21
Thanks @ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541). The USIFAC has started me off on a journey into microcontrollers, so thanks for that too!


Good idea on adding to the folder, Have you thought about putting your work up on github?


Now you've been generous enough to release your code I was going to have a go at z80dart support from the usifac side. That way we could use all the old software. Need to buy more gear though :)

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 07:38, 25 May 21
I've upload a new firmware (4a), only minor optimization of  board's ROM code this time (replace "cp 0" with "or A" ,fix a small bug in |format routine- now shows correctly  formatted track numbers, reduce the size of hex file by dumping initial zeros of arrays & variables used in routines transferred to RAM).
Btw, we reach 100 USIfAC II boards produced!
It's been ~6months since initial presentation, but production was stalled for more than 2months in total (due to various part shortages), so in reality this number is acheived in less than 4months!
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 08:27, 28 May 21

How do you weld USB board and USIFAC??


I can't see how pins of each board are connected. The VCC and GND pins on USB module aren't beside TX and RX pins.


Thank you

Quote from: Philippe Lardenois on 14:14, 27 March 21
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/ZBcdRs3)

https://ibb.co/ftLkZxq (https://ibb.co/ftLkZxq)

(https://ibb.co/ZBcdRs3)
(https://ibb.co/ZBcdRs3)
++
Phil


(https://ibb.co/ftLkZxq)
(https://ibb.co/ZBcdRs3)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 08:26, 29 May 21
Quote from: Fran123 on 08:27, 28 May 21
How do you weld USB board and USIFAC??
I can't see how pins of each board are connected. The VCC and GND pins on USB module aren't beside TX and RX pins.
Thank you

This is how underneath of board+usb host module is:

[attach=1,msg202620]

As you can see,i custom design the board to accept the pins of module and solder it in place. And yes, for some reason, they didn't use the usual "4pin approach" of having Tx,Rx, 5v and gnd in a single row, but instead, CH376 module (https://www.cpcwiki.eu/forum/index.php?action=dlattach;topic=17425.0;attach=33013;image) has a 3pin connector, (with one of gnd pins in the middle...  :o ) and 5v is given through a pin in the large dual row header!
This is why the first version used dupont wires to connect the usb module.... ::)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: entelle42 on 10:08, 29 May 21
@ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541) Hi John,


First of all, congrats on your fantastic job!!  ;)


Regarding the wifi connection, can we change the host ip in your Windows Amstrad utility tool? I tried to change the ip in the setup.txt, may be i'm doing wrong, but the tool still seems to reset the ip to 192.168.56.1?


Thank you
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 10:18, 29 May 21
The ip is taken automatically from the ip of the computer running the Windows utility (port number can be changed though).
If you want this to be changed you will have to assign a different ip to your pc first :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: entelle42 on 11:09, 29 May 21

@ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541) , Great it works ! ;D
Thank you John.

I solved my issue by deactivating my VirtualBox network adaptater (which was assigned to the ip 192.168.56.1) and then, the Windows Amstrad tool was able to get my PC ip and the cpc succeeded in  connecting to the host ip.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 13:33, 29 May 21
Sent an email - These look super cool!


(here we go!!!)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: darkhalf on 11:21, 30 May 21

When using the Multiface 2 it will freeze up during the Save. Test game was Kane from Mastertronic (using a CPC6128)


|USB
|MG,"KANE.DSK"
|FDC
run"kane"




Some of the MF2 BIN files will save in the DSK image, but not everything required to reload it again. Above procedure works fine when running the game via Gotek


I've updated the PIC to 18F47Q10_4 in this thread today


Got the MF2 board and parts from rewinding. Works great!
https://www.va-de-retro.com/foros/viewtopic.php?f=63&t=8102 (https://www.va-de-retro.com/foros/viewtopic.php?f=63&t=8102)

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 09:15, 31 May 21
I'm really not familiar with MF2 interface...
Does it uses the same dsk game image to save the files it needs? But i wonder, since memory dump files are pretty large (64k or 128k), there might be no room for them, if game files take up more than ~100kb on disk... ::)
If that's the case, you might try to mount a 2nd dsk image of an empty disk, and before enabling MF2, change the active dsk image, by pressing the dsk_swap button. That way, USIfAC II will use the empty disk image to store files.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: darkhalf on 14:11, 03 June 21
For this game there is enough space on the DSK image. If there is not the MF2 will report an error. I will try the game outside DSK image and see if the problem is the same. I've got USB-TTL, WIFI and Bluetooth modules on order, so keen to try these out too

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 20:35, 03 June 21
Quote from: darkhalf on 14:11, 03 June 21
For this game there is enough space on the DSK image. If there is not the MF2 will report an error. I will try the game outside DSK image and see if the problem is the same. I've got USB-TTL, WIFI and Bluetooth modules on order, so keen to try these out too
One other thing that might worth a try is to  create in your usb flash drive a small partition of 256Mb (https://www.anyrecover.com/external-device-recovery-data/partition-flash-drive/?gclid=Cj0KCQiAk53-BRD0ARIsAJuNhpuV-XmTqEs_lVQwvnu_S89mZZcUEZ_KMaaHUuETleV5quw2XX6V63saAn1_EALw_wcB#tip2) and format it, using FAT file sytem. From my experience, sometimes usb host modules might be a bit "picky" with specific flash drives, especially regarding writing activities (e.g. you might have no problems reading/loading files/dsk images etc, but ONLY in writing files/images). The above method of using a small FAT partition, in most cases seems to resolve the issues.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 22:09, 03 June 21

Quote from: ikonsgr on 20:35, 03 June 21One other thing that might worth a try is to  create in your usb flash drive a small partition of 256Mb and format it,


Have you tried to format it with a third party tool and NOT with the Windows format tool? Almost none of my sticks worked with the Windows formatter (even with just 256MB partitions) but except for a single USB drive every stick worked with its full capacity, if formatted with h2format.exe (http://translate.google.com/translate?hl=en&sl=de&u=http://www.heise.de/software/download/h2format/40825&ei=bDAHSu_CGqDCM7_M0KID&sa=X&oi=translate&resnum=2&ct=result&prev=/search%3Fq%3Dh2format%26hl%3Den%26client%3Dfirefox-a%26rls%3Dorg.mozilla:en-US:official%26hs%3D9ju) .


Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 08:39, 05 June 21
Hello,


How much current does USIFAC II need to work?


Thank you
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 12:38, 07 June 21

It arrived!

After one very thorough scrub of my expansion port (fnar) it's working beautifully. I'm afraid to unplug it now because of just how firmly it's stuck in place.


(edit: i twooted a pic, and a video)


https://twitter.com/magic_bane/status/1401852804147318784

https://twitter.com/magic_bane/status/1401864000598589441
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 15:20, 07 June 21
Quote from: Fran123 on 08:39, 05 June 21
Hello,
How much current does USIFAC II need to work?
Thank you

The board itself draws very little current, ~20-30mA, but the usb host module+usb flash drive probably need ~100mA (or even more, depending on the flash drive you use). So i would say that a rough estimation of total current consumption would be ~150-200mA
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 18:41, 07 June 21
Is there any way to tell which games in the direct loading folder *require* 128k?

Running into a lot of assumingly buggy games because they're expecting 128k but don't find it (and some that explicitly don't start without it)


EDIT:


I made a "direct load" version of Infernal Runner (a personal favourite of mine) it works on a 464, and some simple instructions are in the zip.
it should be attached to the post, now.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 20:44, 07 June 21
Well, unfortunately all "direct load" games are actually extracted from dsk images, meaning that orignally were intended only for CPC 664/6128. Although mostly compatible, there are some minor differences between 464 and 6128 regarding the "inner workings" of the machine that can cause problems for a game designed on a cpc6128,to load on a cpc464 (even if it uses only 64k ram). Also, many games that have Basic loaders, might use commands or syntax that is not recognized from CPC 464 Basic 1.0 version.
So,in most cases, games that are not running on a cpc464 is not because they need 128k but because they were not supposed to run on cpc464 machines  :)
One solution for non working games might be to use snapshot files instead (which can be easily created from an emulator like winape), as this is the most "brutal-direct" method that forces the entire game into the RAM directly, without needing to load any files!  ;)

p.s. i add infernal runner in the official list (https://www.cpcwiki.eu/forum/games/how-about-making-a-'worth-to-play'-collection-of-amstrad-games/25/)  and with a basic loader (https://www.dropbox.com/s/cdd59bfubyv9g7f/loaders.zip?dl=0) for easy access:)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 21:05, 07 June 21
Quote from: ikonsgr on 20:44, 07 June 21Well, unfortunately all "direct load" games are actually extracted from dsk images, meaning that orignally were intended only for CPC 664/6128. Although mostly compatible, there are some minor differences between 464 and 6128 regarding the "inner workings" of the machine that can cause problems for a game designed on a cpc6128,to load on a cpc464 (even if it uses only 64k ram). Also, many games that have Basic loaders, might use commands or syntax that is not recognized from CPC 464 Basic 1.0 version. So,in most cases, games that are not running on a cpc464 is not because they need 128k but because they were not supposed to run on cpc464 machines  :) One solution for non working games might be to use snapshot files instead (which can be easily created from an emulator like winape), as this is the most "brutal-direct" method that forces the entire game into the RAM directly, without needing to load any files!  ;) p.s. i'll see to add infernal runner in the official list  :)


Yeah, that's mostly what I thought. Probably just system specific//BASIC stuff and not particularly a RAM requirement.


Most 664 stuff should work at the very least - all four games or however many came out before it was axed - knowing which stuff is for 128k/6128-only and not for a 464 would be helpful to know.


Snapshots i'm avoiding for now (i don't really like them, and they're limited for multi-load games)


wrt: Infernal Runner / that's why i uploaded it :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 13:33, 08 June 21
Has a 3d-printable case been made for the USIfAC 2 yet? My current solution is less than ideal, and I'd prefer it in a case to prevent damaging my table/usifac2.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: issalig on 17:41, 08 June 21
Hi @ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541) , I finally took the time to study your code to run basic from asm and I have some questions

defb 14,0,33,149,234,205,27,0

that corresponds to
0000 0E 00          LD C,00
0002 21 95 EA       LD HL,EA95
0005 CD 1B 00       CALL 001B    ; KL_FAR_PCHL


and you said it was LD HL, EA92 (I guess it is just a mistake when writing by heart)

Second question is what cp &6e  is for? You are checking  the low part of the sum of &170 + basic_code_size  to &6e, ??

Third question is what ae29 does? it is just a variable that holds 0? and what is the purpose of copying and calling defb 14,0,33,149,234,205,27,0  on 7900, could not be called just from a label before defb line?

I have also tried similar code (https://www.cpcwiki.eu/forum/programming/asm-source-code/msg158311/#msg158311 (https://www.cpcwiki.eu/forum/programming/asm-source-code/msg158311/#msg158311)) and also in M4 ROM (https://github.com/M4Duke/m4rom/blob/a8a029134bc2412896c71dcdb4fedba9d417128d/M4ROM.s#L1936 (https://github.com/M4Duke/m4rom/blob/a8a029134bc2412896c71dcdb4fedba9d417128d/M4ROM.s#L1936))  and both run in 464 that you said it was not working for you in USIFAC, you can give it a try.

- And the forth question is, what are the main differences between these two ways of running basic?In this code they detect basic version and also copy  4x times &170+basic_code_size but instead of using RST 3 and go to &ea95 (inside RUN routine)
they go directly to the beginning of RUN routine at &ea78  (cpc6128)

I have found a disassembly of CPC464 in case you need it https://acpc.me/ACME/LITTERATURE_LIVRES/%5BGER%5DGERMAN/MARKT-UND-TECHNIK/ROM-Listing_CPC464-664-6128(Jorn_W_ANNECK_Till_MOSSAKOWSKI).pdf (https://acpc.me/ACME/LITTERATURE_LIVRES/%5BGER%5DGERMAN/MARKT-UND-TECHNIK/ROM-Listing_CPC464-664-6128(Jorn_W_ANNECK_Till_MOSSAKOWSKI).pdf)

Yes, I had too many questions.


Quote from: ikonsgr on 21:59, 17 April 21Well, after finishing setting up wifi module, you just give "LIST" at basic prompt, and you will get the BASIC listing!  :D
And here is the asm code for the |WIFI command:
data_size equ 3465
addr equ &170
org   &c000
   ld   hl, setwifi_code
   ld    de, addr
   ld   bc, data_size
   ldir   
   ld   a ,#FB
   in   a,(#Dc)
   ld   l, a   
   ld   h,&ae
   ld   de,data_size+&170
   ld   B,4
   
patch_mems:      ;length+1678+368 (&170)
   
   ld   (HL),e         
   INC   HL
   LD   (HL),d
   INC   HL
   dec   b
   jr   nz,patch_mems

   ld   a,l   
   cp   &6e
   jp   z,runcommand
   ret

runcommand:
   ld   hl,&ae29
   ld    a,0
   ld   (hl),a
   ld   hl, run_code
   ld    de, &7900
   ld   bc, 8
   ldir
   jp   &7900

Run_code:
   defb 14,0,33,149,234,205,27,0


setwifi_code:

defb 19,0,10,0,173,32,16,1,130,32,14,32,32,32,32,32,32,32,0,31,0,17,0,185,32,28,208,251,44,25,43,1,185,32,28,208,251,44,25,43,1,185
defb 32,28,208,251,44,25,43,0,60,0,20,0,147,32,3,0,0,83,208,40,25,10,41,1,13,0,0,115,101,114,115,112,101,101,228,239,25,24,1,13,0
defb 0,99,117,114,115,112,101,101,228,239,255,11,40,28,221,251,41,32,32,32,32,32,32,32,32,32,0,25,0,30,0,162,32,14,44,15,1,162,32,16,44
defb 14,1,186,32,16,1,138,32,32,32,0,10,0,40,0,159,32,30,136,19,0,36,0,50,0,3,0,0,225,239,34,65,84,43,67,87,77,79,68,69,61
defb 49,34,1,159,32,30,176,4,32,32,32,32,32,32,32,0,19,0,100,0,197,32,115,101,114,105,97,108,32,115,101,116,117,112,0,60,0,110,0,138,1
defb 216,32,35,14,44,25,18,44,25,55,44,17,44,22,1,124,0,83,84,65,212,1,216,32,35,14,44,25,18,44,25,55,44,18,44,22,1,138,1,216,32
defb 35,14,44,15,44,25,79,44,15,44,25,25,0,60,0,115,0,169,32,25,22,44,19,1,191,34,83,101,116,32,110,101,119,32,115,112,101,101,100,63,32
defb 40,89,47,78,41,34,1,131,32,28,3,187,1,13,0,0,111,102,102,115,101,244,239,14,32,32,32,32,32,32,32,0,34,0,116,0,161,32,255,10,40
defb 25,43,41,239,14,32,235,32,30,120,0,32,32,32,32,32,32,32,32,32,32,32,32,32,0,41,0,117,0,161,32,255,10,40,25,46,41,239,14,32,235
defb 32,13,0,0,111,102,102,115,101,244,239,25,11,1,160,32,30,84,1,32,32,32,32,32,0,10,0,118,0,160,32,30,116,0,0,58,0,120,0,191,1
defb 191,34,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,80,114,101,115,115,58,34,1,158,32,13,0,0,248,239
defb 21,32,236,32,25,14,32,32,32,32,0,75,0,130,0,195,32,3,0,0,83,208,40,13,0,0,248,245,20,41,1,169,32,25,32,44,13,0,0,248,1
defb 191,32,34,60,34,59,172,40,255,25,40,13,0,0,216,245,20,41,44,16,44,15,41,59,34,62,58,34,59,3,0,0,83,208,40,13,0,0,248,245,20
defb 41,32,32,0,11,0,140,0,176,32,13,0,0,248,0,60,0,160,0,140,32,57,54,48,48,44,53,55,54,48,48,44,49,49,53,50,48,48,44,50,51
defb 48,52,48,48,44,52,54,48,56,48,48,44,53,55,54,48,48,48,44,57,50,49,54,48,48,44,49,48,54,53,54,48,48,0,21,0,170,0,13,0,0
defb 115,101,114,115,240,239,14,1,131,32,28,3,187,0,51,0,180,0,161,32,255,10,40,25,64,41,239,14,32,235,32,13,0,0,115,101,114,115,240,239,25
defb 12,1,3,0,0,83,208,239,34,57,54,48,48,34,32,32,32,32,32,32,32,32,32,0,54,0,190,0,161,32,255,10,40,25,65,41,239,14,32,235,32
defb 13,0,0,115,101,114,115,240,239,25,15,1,3,0,0,83,208,239,34,53,55,54,48,48,34,32,32,32,32,32,32,32,32,32,32,32,0,52,0,200,0
defb 161,32,255,10,40,25,57,41,239,14,32,235,32,13,0,0,115,101,114,115,240,239,25,16,1,3,0,0,83,208,239,34,49,49,53,50,48,48,34,32,32
defb 32,32,32,32,32,32,0,51,0,210,0,161,32,255,10,40,25,56,41,239,14,32,235,32,13,0,0,115,101,114,115,240,239,25,17,1,3,0,0,83,208
defb 239,34,50,51,48,52,48,48,34,32,32,32,32,32,32,32,0,50,0,220,0,161,32,255,10,40,25,49,41,239,14,32,235,32,13,0,0,115,101,114,115
defb 240,239,25,18,1,3,0,0,83,208,239,34,52,54,48,56,48,48,34,32,32,32,32,32,32,0,54,0,230,0,161,32,255,10,40,25,48,41,239,14,32
defb 235,32,13,0,0,115,101,114,115,240,239,25,19,1,3,0,0,83,208,239,34,53,55,54,48,48,48,34,32,32,32,32,32,32,32,32,32,32,0,44,0
defb 240,0,161,32,255,10,40,25,41,41,239,14,32,235,32,13,0,0,115,101,114,115,240,239,25,21,1,3,0,0,83,208,239,34,57,50,49,54,48,48,34
defb 0,51,0,250,0,161,32,255,10,40,25,40,41,239,14,32,235,32,13,0,0,115,101,114,115,240,239,25,23,1,3,0,0,83,208,239,34,49,48,54,53
defb 54,48,48,34,32,32,32,32,32,32,0,25,0,24,1,161,32,13,0,0,115,101,114,115,240,239,14,32,235,32,160,32,30,180,0,0,54,0,44,1,3
defb 0,0,193,239,34,65,84,43,85,65,82,84,95,68,69,70,61,34,244,3,0,0,83,208,244,34,44,56,44,49,44,48,44,48,34,32,32,32,32,32,32
defb 32,32,32,32,32,32,32,0,33,0,54,1,159,32,30,176,4,1,185,32,28,209,251,44,13,0,0,115,101,114,115,240,1,185,32,28,209,251,44,15,0
defb 25,0,64,1,158,32,13,0,0,233,239,15,32,236,32,25,100,1,176,32,13,0,0,233,0,110,0,84,1,216,32,35,16,44,15,44,25,79,44,25,21
defb 245,13,0,0,79,70,70,83,69,212,44,25,25,245,13,0,0,79,70,70,83,69,212,1,186,32,35,16,44,14,1,187,32,35,16,44,15,1,216,32,35
defb 17,44,15,44,25,79,44,25,19,245,13,0,0,79,70,70,83,69,212,44,25,20,245,13,0,0,79,70,70,83,69,212,1,186,32,35,17,44,14,1,187
defb 32,35,17,44,15,1,159,32,30,208,7,0,37,0,86,1,3,0,0,225,239,34,65,84,43,67,73,80,77,79,68,69,61,49,34,1,159,32,30,176,4
defb 32,32,32,32,32,32,32,0,28,0,89,1,3,0,0,225,239,34,65,84,43,67,73,80,83,69,78,68,34,1,159,32,30,176,4,0,55,0,94,1,169
defb 32,25,30,44,25,22,245,13,0,0,79,70,70,83,69,212,1,191,34,87,105,70,105,32,77,111,100,117,108,101,32,99,111,110,110,101,99,116,101,100,33
defb 34,32,32,32,32,32,32,32,0,17,0,104,1,131,32,28,3,187,1,152,32,32,32,32,32,0,31,0,176,4,197,32,83,69,78,68,32,65,84,32,67
defb 79,77,77,65,78,68,83,32,82,79,85,84,73,78,69,0,24,0,196,4,158,32,13,0,0,235,239,15,32,236,32,255,14,40,3,0,0,225,41,0,29
defb 0,206,4,185,32,28,208,251,44,255,1,40,172,40,3,0,0,193,44,13,0,0,203,44,15,41,41,0,11,0,216,4,176,32,13,0,0,203,0,24,0
defb 226,4,185,32,28,208,251,44,28,13,0,1,185,32,28,208,251,44,28,10,0,0,12,0,236,4,3,0,0,193,239,34,34,0,6,0,246,4,201,0,24
defb 0,0,5,197,32,83,69,78,68,32,84,69,88,84,32,82,79,85,84,73,78,69,0,25,0,60,5,158,32,13,0,0,235,239,15,32,236,32,255,14,40
defb 3,0,0,225,41,32,0,38,0,70,5,185,32,28,208,251,44,255,1,40,172,40,3,0,0,193,44,13,0,0,203,44,15,41,41,32,32,32,32,32,32
defb 32,32,32,0,14,0,80,5,176,32,13,0,0,203,32,32,32,0,36,0,85,5,161,32,13,0,0,99,114,108,230,238,14,32,235,32,185,32,28,208,251
defb 44,25,13,1,185,32,28,208,251,44,25,10,0,36,0,90,5,191,32,35,15,44,255,3,40,25,10,41,244,255,3,40,25,13,41,1,3,0,0,225,239
defb 34,34,32,32,32,32,32,0,6,0,100,5,201,0,22,0,208,7,197,32,87,73,70,73,32,67,79,78,78,69,67,84,73,79,78,0,22,0,210,7,3
defb 0,0,193,239,34,65,84,69,48,34,1,159,32,30,176,4,0,12,0,213,7,185,32,28,209,251,44,15,0,10,0,218,7,159,32,30,184,11,0,10,0
defb 223,7,131,32,28,3,187,0,32,0,224,7,161,32,13,0,0,83,84,65,84,85,211,239,14,32,235,32,13,0,0,83,84,65,84,85,211,239,15,0,40
defb 0,228,7,178,32,13,0,0,115,116,97,116,117,243,32,160,32,30,2,8,44,30,152,8,44,30,238,7,44,30,152,8,44,30,2,8,32,32,0,6,0
defb 238,7,201,0,52,0,2,8,169,32,25,27,44,25,19,245,13,0,0,111,102,102,115,101,244,1,163,34,65,46,80,46,32,115,115,105,100,58,34,44,3
defb 0,0,115,115,105,228,32,32,32,32,32,32,32,32,0,52,0,12,8,169,32,25,28,44,25,20,245,13,0,0,111,102,102,115,101,244,1,163,34,112,97
defb 115,115,119,111,114,100,58,34,44,3,0,0,112,97,115,243,32,32,32,32,32,32,32,32,32,0,73,0,22,8,3,0,0,225,239,34,65,84,43,67,87
defb 74,65,80,95,68,69,70,61,34,244,255,3,40,25,34,41,244,3,0,0,83,83,73,196,244,255,3,40,25,34,41,244,34,44,34,244,255,3,40,25,34
defb 41,244,3,0,0,80,65,83,211,244,255,3,40,25,34,41,0,15,0,32,8,159,32,30,176,4,32,32,32,32,32,0,53,0,42,8,169,32,25,30,44
defb 25,21,245,13,0,0,111,102,102,115,101,244,1,191,34,67,111,110,110,101,99,116,105,110,103,46,46,46,34,59,32,32,32,32,32,32,32,32,32,32,32
defb 32,32,0,10,0,52,8,159,32,30,184,11,0,45,0,62,8,161,32,13,0,0,115,116,97,116,117,243,239,16,32,235,32,191,34,79,75,34,1,138,32
defb 35,17,1,160,32,30,228,7,32,32,32,32,32,32,32,32,0,73,0,72,8,169,32,25,15,44,25,22,245,13,0,0,111,102,102,115,101,244,1,191,34
defb 69,114,114,111,114,58,82,101,116,114,121,40,49,41,32,111,114,32,73,110,115,101,114,116,32,110,101,119,32,65,99,99,101,115,115,32,80,111,105,110,116
defb 40,50,41,63,34,32,32,0,36,0,82,8,161,32,255,10,40,25,64,41,239,14,32,235,32,138,32,35,16,1,160,32,30,32,8,32,32,32,32,32,32
defb 32,32,0,46,0,92,8,161,32,255,10,40,25,65,41,239,14,32,235,32,138,32,35,16,1,138,32,35,17,1,131,32,28,3,187,1,160,32,30,2,8
defb 32,32,32,32,32,32,32,0,10,0,102,8,160,32,30,82,8,0,60,0,152,8,138,32,35,16,1,131,32,28,3,187,1,169,32,25,27,44,25,19,245
defb 13,0,0,111,102,102,115,101,244,1,163,34,72,111,115,116,32,105,112,58,34,44,3,0,0,104,111,115,244,32,32,32,32,32,32,32,0,52,0,162,8
defb 169,32,25,30,44,25,20,245,13,0,0,111,102,102,115,101,244,1,163,34,112,111,114,116,58,34,44,3,0,0,112,111,114,244,32,32,32,32,32,32,32
defb 32,32,32,32,32,32,0,53,0,172,8,3,0,0,72,79,83,212,239,255,3,40,25,34,41,244,3,0,0,72,79,83,212,244,255,3,40,25,34,41,244
defb 34,44,34,244,3,0,0,80,79,82,212,32,32,32,32,32,32,32,0,56,0,182,8,3,0,0,225,239,34,65,84,43,67,73,80,83,84,65,82,84,61
defb 34,244,255,3,40,25,34,41,244,34,84,67,80,34,244,255,3,40,25,34,41,244,34,44,34,244,3,0,0,72,79,83,212,0,25,0,192,8,3,0,0
defb 99,111,110,110,101,99,244,239,3,0,0,225,32,32,32,32,32,0,10,0,197,8,159,32,30,176,4,0,56,0,202,8,169,32,25,30,44,25,21,245,13
defb 0,0,111,102,102,115,101,244,1,191,34,67,111,110,110,101,99,116,105,110,103,46,46,46,34,59,1,159,32,30,184,11,32,32,32,32,32,32,32,32,32
defb 32,0,22,0,212,8,161,32,13,0,0,83,84,65,84,85,211,239,17,32,235,32,201,0,70,0,222,8,169,32,25,15,44,25,22,245,13,0,0,111,102
defb 102,115,101,244,1,191,34,69,114,114,111,114,58,82,101,116,114,121,40,49,41,32,111,114,32,73,110,115,101,114,116,32,110,101,119,32,72,111,115,116,32
defb 83,101,114,118,101,114,40,50,41,63,34,0,31,0,232,8,161,32,255,10,40,25,64,41,239,14,32,235,32,138,32,35,16,1,160,32,30,182,8,32,32
defb 32,0,38,0,242,8,161,32,255,10,40,25,65,41,239,14,32,235,32,138,32,35,16,1,138,32,35,17,1,160,32,30,152,8,32,32,32,32,32,0,10
defb 0,252,8,160,32,30,232,8,0,13,0,184,11,197,32,115,116,97,116,117,115,0,12,0,189,11,185,32,28,209,251,44,15,0,38,0,194,11,3,0,0
defb 225,239,34,65,84,43,67,73,80,83,84,65,84,85,83,34,1,159,32,30,176,4,32,32,32,32,32,32,32,32,0,11,0,204,11,13,0,0,201,239,15
defb 0,40,0,214,11,214,32,40,13,0,0,201,241,22,41,32,250,32,40,255,11,40,28,209,251,41,239,25,255,41,32,32,32,32,32,32,32,32,32,32,0
defb 38,0,224,11,13,0,0,193,239,255,11,40,28,208,251,41,1,13,0,0,201,239,13,0,0,201,244,15,32,32,32,32,32,32,32,32,32,0,6,0,234
defb 11,213,0,25,0,244,11,13,0,0,83,84,65,84,85,211,239,255,11,40,28,208,251,41,245,25,48,0,42,0,249,11,161,32,40,13,0,0,83,84,65
defb 84,85,211,241,16,41,32,252,32,40,13,0,0,115,116,97,116,117,243,238,19,41,32,235,32,30,189,11,0,6,0,254,11,201,0,18,0,160,15,13,0
defb 0,225,239,15,1,13,0,0,233,239,14,0,27,0,170,15,214,32,40,13,0,0,225,239,15,41,32,250,32,40,13,0,0,233,241,25,15,41,0,29,0
defb 180,15,13,0,0,225,239,255,11,40,28,209,251,41,1,13,0,0,233,239,13,0,0,233,244,15,0,6,0,190,15,213,0,6,0,200,15,201,0,46,0
defb 136,19,197,32,97,117,116,111,109,97,116,105,99,32,115,112,101,101,100,32,100,101,116,101,99,116,105,111,110,32,111,102,32,119,105,102,105,32,32,32,32
defb 32,32,0,21,0,146,19,185,32,28,209,251,44,15,32,32,32,32,32,32,32,32,32,0,19,0,156,19,3,0,0,225,239,34,65,84,34,32,32,32,32
defb 32,0,16,0,166,19,159,32,30,176,4,1,159,32,30,160,15,0,19,0,176,19,161,32,13,0,0,193,239,15,32,235,32,30,196,19,0,51,0,186,19
defb 13,0,0,225,239,255,11,40,28,208,251,41,1,161,32,13,0,0,225,239,25,65,32,252,32,13,0,0,225,239,25,13,32,252,32,13,0,0,225,239,25
defb 79,32,235,32,201,0,30,0,196,19,13,0,0,83,69,82,83,80,69,69,196,239,13,0,0,83,69,82,83,80,69,69,196,245,15,0,77,0,201,19,161
defb 32,13,0,0,83,69,82,83,80,69,69,196,239,23,32,235,32,185,32,28,209,251,44,13,0,0,67,85,82,83,80,69,69,196,1,191,34,78,79,32,87
defb 105,70,105,32,109,111,100,117,108,101,32,100,101,116,101,99,116,101,100,33,34,1,152,32,32,32,32,32,32,32,0,28,0,206,19,185,32,28,209,251,44
defb 13,0,0,115,101,114,115,112,101,101,228,1,160,32,30,146,19,0,0,0


This is actaully a method of passing Basic files through assembly code, and i'm using it in many other RSX commands!
The bytes transferred to &170 is the actual basic listing, and it's nothing more that the saved BAS file, without the first 128 bytes of header!  ;)
After that, you only need to set some variables in memory (the "patch_mems" section) , and you are ready!
And finally, the best part: the few bytes in the "run code" section, allows you to automatically run the inserted basic program, without giving "RUN" command!  ;)
It's only a few instructions:
   ld   c,0
   ld   hl,&ea92
   call    &001b


This,as small as it may seems, was rather tricky and hard to accomplish, as it required to intercept the "Run" command in basic rom at specific address (far call RST 3 to &ea92 of rom 0=Basic (http://cpctech.cpcwiki.de/docs/basic.asm))!
And because i couldn't find a dissasmble code of CPC 464 BASIC 1.0 rom, this automation is only available for CPC 6128  :)

btw, here is all you need to know about creating your own rsx commands: http://cpctech.cpc-live.com/docs/manual/s158se09.pdf (http://cpctech.cpc-live.com/docs/manual/s158se09.pdf)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 17:49, 08 June 21
Quote from: Devlin on 13:33, 08 June 21Has a 3d-printable case been made for the USIfAC 2 yet? My current solution is less than ideal, and I'd prefer it in a case to prevent damaging my table/usifac2.
R


Somewhere in this thread someone has posted a 3d case. However it doesn't fit every Usifac II as I recognized. They differ slightly and I guess also the Reset-Button (or Pause?) has changed. And it doesn't close on its own, so I used some double-sided strip to keep the lid in place. Better than nothing though and it looks much better than the pure board.



Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 18:55, 08 June 21
Quote from: issalig on 17:41, 08 June 21
Hi @ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541) , I am having a look at your code to run basic from asm and I have some questions
defb 14,0,33,149,234,205,27,0
corresponds to
0000 0E 00          LD C,00
0002 21 95 EA       LD HL,EA95
0005 CD 1B 00       CALL 001B    ; KL_FAR_PCHL

and you said it was LD HL, EA92 (I guess it is just a mistake when writing by heart)

the bytes correspond to a far call RST 3 to &ea92 of rom 0=Basic:
   ld   c,0
   ld   hl,&ea92
   call    &001b


Quote from: issalig on 17:41, 08 June 21
Second question is what cp &6e  is for? You are checking  the low part of the sum of &170 + basic_code_size  to &6e, ??
If you check firmware guide you will see that @ &AE66 (and also &AE68, &AE6A, &AE6C) are the addresses used by basic to store the start address of  free space (or start of variables & arrays area). This address can be calculated by adding &170 offset to the size of the basic program. Now, for Amstrad CPC464 this address is in slightly  different place (&ae83), so, i'm using the low byte of this address (&83 or &66) to store it in USIfAC's ram, and fetch it whenever is needed (using a simple inp &fbdc), BUT also to DISTINGUISH cpc464 from cpc6128.
Now, if you add 8 to &66 you will have &6e, and that would be the value of l register at the end of loop, IF we are running on a cpc 6128 (e.g. basic 1.1)! So in 2 words, the cp &6e is for distinguish cpc 464 form 6128 (or better basic 1.0 from 1.1).

Quote from: issalig on 17:41, 08 June 21
Third question is what ae29 does? it is just a variable that holds 0? and what is the purpose of copying and calling defb 14,0,33,149,234,205,27,0  on 7900, could not be called just from a label before defb line?
again reading from firmware guide, you will see that &ae29 is for storing file type byte, where for Basic program, must be 0. Now, in order to run basic program i needed to execute the "RUN" code @ &ea78 of basic 1.1 rom. What i found out though, is that i needed to skip the first section (which is relevant to run from a BAS file) as i needed to run a basic code already in ram, that's why i start the execution of routine from &ea92. Executing the run command is actually a far call RST 3 to &ea92 of rom 0=Basic. This can't be done from usifac's rom directly (as the RST3 changes upper rom to basic rom), so it must be first placed in ram to execute it, thus the copying @ &7900.

Quote from: issalig on 17:41, 08 June 21
- And the forth question is, what are the main differences between these two ways of running basic?In this code they detect basic version and also copy  4x times &170+basic_code_size but instead of using RST 3 and go to &ea95 (inside RUN routine)
they go directly to the beginning of RUN routine at &ea78  (cpc6128)
The cpc6128 "way" is direct running of basic program through the proccess i described. To do so, i needed the disasemble basic rom  to find out at what address i need to jump to ,for executing a run command properly. And so, because i couldn't fine a disassemble  of basic 1.0 rom,in case of cpc464, this must be ommited, and instead, you will need to give the "run" command manually at the prompt.

Quote from: issalig on 17:41, 08 June 21
I have found a disassembly of CPC464 in case you need it https://acpc.me/ACME/LITTERATURE_LIVRES/%5BGER%5DGERMAN/MARKT-UND-TECHNIK/ROM-Listing_CPC464-664-6128(Jorn_W_ANNECK_Till_MOSSAKOWSKI).pdf (https://acpc.me/ACME/LITTERATURE_LIVRES/%5BGER%5DGERMAN/MARKT-UND-TECHNIK/ROM-Listing_CPC464-664-6128(Jorn_W_ANNECK_Till_MOSSAKOWSKI).pdf)
Thanks, i'll take a look and see if i can make it work for CPC464 too. :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: issalig on 19:11, 08 June 21
Thanks for all the details, I will need some time to digest it all

Anyway, I have assembled this code again
defb 14,0,33,149,234,205,27,0

and it gives ea 95 again
0E 00
21 95 EA   ld hl, ea95   
CD 1B 00

So if ea92 is the correct one, shouldn't be this defb?
defb 14,0,33,146,234,205,27,0

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 19:59, 08 June 21
Yes, the correct is &ea95  ;D
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: issalig on 10:47, 09 June 21
Quote from: ikonsgr on 18:55, 08 June 21
Thanks, i'll take a look and see if i can make it work for CPC464 too. :)
I extracted the run function for BASIC 1.0 from the book (https://acpc.me/ACME/LITTERATURE_LIVRES/%5BGER%5DGERMAN/MARKT-UND-TECHNIK/ROM-Listing_CPC464-664-6128(Jorn_W_ANNECK_Till_MOSSAKOWSKI).pdf (https://acpc.me/ACME/LITTERATURE_LIVRES/%5BGER%5DGERMAN/MARKT-UND-TECHNIK/ROM-Listing_CPC464-664-6128(Jorn_W_ANNECK_Till_MOSSAKOWSKI).pdf)) and translated comments into English (Danke schöne Google Tanslator) and mixed it with this code https://www.cpcwiki.eu/forum/programming/asm-source-code/msg158311/#msg158311 (https://www.cpcwiki.eu/forum/programming/asm-source-code/msg158311/#msg158311)

I attach a working code  8) for 464,664 and 6128

The changes are:
- Address of start of BASIC variables ld l, &83 for 464  ld l, &66  for 6128 and 664
- RUN entry point EA95 is for 6128, EA7D for 664, and E9DB for 464
- file type byte AE29 (6128 and 664),  AE42 (464)


kl_rom_select equ &B90F
data_size equ 35                                ; size of BASIC file
addr    equ &170                                ; BASIC files normally start at 170, let's write in this area
org    &1200                                   ; and store our program in &1200

main:
                                                ; we will use 16-bit registers (hl, de, ... to deal with memory addresses that take 2 bytes &AABB)
    ld    hl, basic_code                  ; hl = address where basic_code is starts, i.e. org + something but the assembler does it for us
    ld     de, addr                        ; de = &170
    ld    bc, data_size                   ; bc = data size
    ldir                                    ; ldir copies a block from hl address to de address of length bc (i.e. memcpy)
                                             ; do not forget to go back from call

; Address of start of variables (&AE66-67 in cpc6128-664, &AE83-84 in cpc464)
    ;basic_version:
    ld c, 0
    call kl_rom_select         ;select upper rom given by C -> upper rom 0 -> BASIC
    ld a,(&c002)         ;basic 1.0 byte 2 is 0; basic 1.1 664 is 1; basic 1,1 byte 2 is 2; 
    ld (basic_version), a
    cp 0
    jr z,cpc464
    ld    l, &66  ; basic 1.1 at AE66
    ld a, &29
    ld (file_type), a

    ld (basic_version), a
    cp 1
    jr z,cpc664
   
    ld hl, run_entry
    ld (hl) , &95     ;ea95 for 6128
    inc hl
    ld (hl) , &ea
    jr patch_mems
cpc664:
    ld hl, run_entry
    ld (hl) , &7d     ;ea7d for 664   
    inc hl
    ld (hl) , &ea
    jr patch_mems

cpc464:
    ld    l, &83  ; basic 1.0 at AE83
    ld a, &42
    ld (file_type), a
   
    ld hl, run_entry
    ld (hl) , &db
    inc hl
    ld (hl) , &e9


patch_mems:
    ld    h,&ae  ;  hl =AExx
    ld    de, data_size+&170  ;end of data
    ld    B,4  ; 4 bytes
   
patch_loop:           
                                    ;write data_size+170  to AExx
    ld    (hl),e   
    inc    hl
    ld    (hl),d
    inc    hl
    dec    b
    jr    nz,patch_loop
    ld    a,l   
    jr    run_command
    ret

run_command:
    ;ld    hl,&ae29        ; file type 0   
    ;ld    hl,&ae42        ; file type 0   cpc464
    ld    h, &ae
    ld    a, (file_type)
    ld    l, a
    ld     a,0
    ld    (hl),a
    ld    hl, run_code     
    ld     de, &7900
    ld    bc, 9  ;  run code size,
    ldir
    jp    &7900 ; copy run code in memory and call it

run_code:
    ld c, 0
    ;ld hl, &ea95   ;6128
    ;ld hl, &e9db    ;464
    ld hl, (run_entry)
    call &001b
    ret


basic_code: ;35 bytes long
defb  &0c,&00,&0a,&00,&c5,&20,&48,&65,&6c,&6c,&6f,&00,&15,&00,&14,&00
defb  &bf,&20,&22,&48,&65,&6c,&6c,&6f,&20,&57,&6f,&72,&6c,&64,&21,&22
defb  &00,&00,&00
basic_code_end:

basic_version: defb 0
file_type: defb 0
run_entry: defw 0



Firmware code of RUN function for 464 for reference
E9BD CD 51 DD           CALL DD51       End of statement?
E9C0 EB                 EX DE, HL
E9C1 2A 81 AE           LD HL, (AE81)   program start after DE
E9C4 EB                 EX DE, HL
E9C5 38 1C              JR C, E9E3      then from program start
E9C7 FE 1E              CP 1E           Token for line number?
E9C9 28 15              JR Z, E9E0      then from program line
E9CB FE 1D              CP 1D           Token for line address?
E9CD 28 11              JR 2, E9E0      then from the program line
E9CF CD 0D EA           CALL EA0D       1. Read and evaluate block
E9D2 21 30 EA           LD HL, EA30     Addr. Load binary file
E9D5 D2 13 BD           JP NC, BD13     Binadrdat. ? d. MC BOOT PROGRAM
E9D8 CD A8 EB           CALL EBA8       otherwise load program
E9DB 2A 81 AE           LD HL, (AE81)   Pointer to program start
E9DE 18 11              JR E9F1         start program
E9EO CD 67 E7           CALL E767       Get line address
E9E3 D5                 PUSH DE         Save pointer to entry point
E9E4 CD AD D2           CALL D2AD       initialize cassette
E9E7 CD 8C C1           CALL C18C       delete variables
E9EA CD 7A C1           CALL C17A       Initialize basic pointer
E9ED CD 5E C1           CALL C15E       Printout select. and I / O init.
E9F0 E1                 POP HL          new program pointer
E9F1 23                 INC HL          Pass over zero at the end of the line
E9F2 F1                 POP AF          delete call address
E9F3 C3 93 DD           JP DD93         for interpreter loop
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 16:12, 09 June 21
That's great! I have too, check the code (https://www.cpcwiki.eu/forum/programming/asm-source-code/msg158311/#msg158311) and manage to create a new "run command" code, that now works for CPC464 and CPC6128 (and most probable CPC664, although i don't have one to test it  :D ):
kl_rom_select equ &B90F
org &7900
write"DIRECT_ROM.BIN" 
ld c,0
call kl_rom_select
ld a,(&c002)
cp 0
jp z,cpc_464
cp 1
jp z,cpc_664
jp &ea78+&1d        ;; run BASIC CPC6128
cpc_664:
jp &ea7d+&1d        ;; run BASIC CPC664
cpc_464:
jp &e9bd+&1d        ;; run BASIC CPC464

The above code is transferred to ram and executed from there using this code:

ld hl, run_code
ld de, &7900
ld bc, 27
ldir
jp &7900
Run_code:
defb 14,0,205,15,185,58,2,192,254,0,202,24,121,254,1,202,21,121,195,149,234,195,154,234,195,218,233



As i explained before,the offset i'm using is for skipping the first section (which is relevant to run from a BAS file) of Basic's "Run" routine, which i assume is the same for all 3 models, so i used the same offset.

New firmware update (_4b) with the following improvements:

- RSX commands: |SET,|COM,|WIFI,|TER,|GALA,|PACMAN,|KGOR are now executed directly on CPC464, without needing to give "RUN" anymore!

- SNA routine now checks if Amstrad has 64k only, and loads only the 1st 64k ram dump even if snapshot file is for 128k. The reason i did this is because i noticed that the snapshot archive has a lot of game files that are 128k but actually only the 1st 64k iis used, so now you will be able to load most of the SNA files on CPC464 too!

- Minor optimization of  board's ROM code this time:replace "cp 0" with "or A" , reduce the size of hex file by dumping initial zeros of arrays & variables used in routines transferred to RAM.

- Fix a small bug in |format routine- now shows correctly  formatted track numbers.

- Fix a bug in |2PC routine when use the "invert file selection" function.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: issalig on 20:48, 09 June 21
Maybe it is time for a fork with USIFAC support
https://github.com/yawor/m4board-enclosure
Quote from: eto on 17:49, 08 June 21
Somewhere in this thread someone has posted a 3d case. However it doesn't fit every Usifac II as I recognized. They differ slightly and I guess also the Reset-Button (or Pause?) has changed. And it doesn't close on its own, so I used some double-sided strip to keep the lid in place. Better than nothing though and it looks much better than the pure board.

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 02:18, 10 June 21
Quote from: ikonsgr on 16:12, 09 June 21
New firmware update (_4b) with the following improvements:
Hi John

Well done
Ps I can now delete the Macintosh extra files that are added to a USB stick (Known as TURDS)
Thanks for that.
A small request Is it possible to sort the Cat EG:- a-z etc
Keep up the GOOD Work

Keep Safe
Ray
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 09:18, 10 June 21
Quote from: Audronic on 02:18, 10 June 21
A small request Is it possible to sort the Cat EG:- a-z etc
I'm afraid usb host module doesn't allow that. Files/dirs will be shown in order of how they were initially written in usb flash drive, usually this is alphabetically anyway. But any new file saved will be added at the end of list.
In anycase, i thnk that using the filter argument of the |CAT (to filter the list of files taken), is what can really makes catalogue management ..."piece of cake"!  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 13:43, 10 June 21
I've noticed when doing a CAT on a folder that a large number of said folders do not identify themselves with the <DIR> marker - And that any folder with a long name, and a period (.) in them, will incorrectly split their names - f.ex: "Dizzy. Amstrad Action Special Edition" will display as "DIZZY~1.AMS" which causes an error if trying to navigate to it with cd
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 13:52, 10 June 21
Quote from: ikonsgr on 09:18, 10 June 21
I'm afraid usb host module doesn't allow that. Files/dirs will be shown in order of how they were initially written in usb flash drive, usually this is alphabetically anyway. But any new file saved will be added at the end of list.
In anycase, i thnk that using the filter argument of the |CAT (to filter the list of files taken), is what can really makes catalogue management ..."piece of cake"!  :)


the filter is nice but inconvenient to use on a 464 though - that said, a proper file manager (please don't just bake it into the next fw) would be a gods-send
I feel like it'd be a "killer utility" for the usifac2 and massively improve an already fantastic device.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 16:41, 10 June 21
Quote from: Devlin on 13:52, 10 June 21
the filter is nice but inconvenient to use on a 464 though - that said, a proper file manager (please don't just bake it into the next fw) would be a gods-send
I feel like it'd be a "killer utility" for the usifac2 and massively improve an already fantastic device.
It would be most unlikely for such a utility as a file manager to be incorporated into fw, because there is almost no space in microcontroller program memory left :)
But if i may say, judging from my (rather time consuming...) personal experience, the Basic loader utlity already masisvely imrpoved the user experience with cpc464, as it practically eliminates the need of issuing rsx commands! You just have a bunch of BAS files to select from, and run directly!
And although filtering is a bit tiresome on a CPC464, still, is MUCH easier and faster to load a game, than doing it "manually", using rsx commands (and the "sadistic" way of issuing arguments on a cpc 464  :laugh: )!
In fact, i believe that ,for collections of up to a few 100's of games, you don't need filtering anyway, as with a simple cat, you get pages of 25 games (BAS files) in less than a second, so, practically you can "Scan" your entire collection in a few seconds!  ;)

In a more general perspective,i would say that a little bit of CLI typing in usage, always adds to the "nostlagia feeling" of using an  80's home micro Amstrad CPC in 2021. It's like a kind of a small "ritual"  :)
Αnd the same goes the "other way":
Just imagine in a few years from now...
"man, this file manager looks too boring and tedious anymore, why don't add vocal recognition for loading games?  Or even better, wouldn't be great if i could just think of a game, and amstrad instantly load it?"  (yes, yes, my "tech-freak" driven boredom and laziness shows no limit...) :P
Τoo much easines and conveniences, and you will certainly loose the... "feeling"!  ;D 
Unless you are too young and this really doesn't matter for you... :)

In the end, if someone wants to just load and play games, as fast and easy as possible, well... that's what Amstrad emulators are for!  :)



Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 17:35, 10 June 21
Quote from: ikonsgrIt would be most unlikely for such a utility as a file manager to be incorporated into fw, because there is almost no space in microcontroller program memory left :)
That, is entirely fair, and if honest, a bit of a relief.


QuoteIn the end, if someone wants to just load and play games, as fast and easy as possible, well... that's what Amstrad emulators are for!  :)
I did not buy a usifac ii, so I could play in an emulator.. I like my real hardware :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 23:52, 10 June 21
Quote from: Devlin on 13:43, 10 June 21
I've noticed when doing a CAT on a folder that a large number of said folders do not identify themselves with the <DIR> marker - And that any folder with a long name, and a period (.) in them, will incorrectly split their names - f.ex: "Dizzy. Amstrad Action Special Edition" will display as "DIZZY~1.AMS" which causes an error if trying to navigate to it with cd
Unfortunately this is a constraint (all names are converted in 8.3 dos type, so better not have too "fancy" long file names :) ) & a bug (sometimes not identifying a directory name with <DIR>,this mostly happens when you have many sub dirs ) of the CH376 usb host module... ::)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 14:26, 11 June 21
Quote from: ikonsgr on 23:52, 10 June 21all names are converted in 8.3 dos type

Btw: Is it possible to get the long file names? Even if it cannot be used for the RSX commands, for a menu application, they could be used to display a more meaningful name. 
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 16:28, 11 June 21
I'm afraid not. The 8.3 names is not something i make for "compatibility" reasons (as amstrad cpc also uses 8.3 filenames) but it's what the usb module actually responds to.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: roudoudou on 16:46, 11 June 21
hi @ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541)
is there softwares for Linux or documentation to create those softwares?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 17:24, 11 June 21
Hello


Is there any way to create the DSK of current disk file into USB ?


Would you give us a program in BASIC or ASM or BIN?


Thank you.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 18:15, 11 June 21
Quote from: roudoudou on 16:46, 11 June 21
hi @ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541)
is there softwares for Linux or documentation to create those softwares?
I think you should ask issalig as he has already develop some utilities on linux: https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/usifac-iimake-your-pc-or-usb-stick-an-hdd-for-amstrad-access-dsk-and-many-more!/msg201894/#msg201894
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 18:37, 11 June 21
Quote from: Fran123 on 17:24, 11 June 21
Hello
Is there any way to create the DSK of current disk file into USB ?
Would you give us a program in BASIC or ASM or BIN?
Thank you.

For now, there is no such ability to create a dsk image from a floppy disk. But you can copy directly files from a floppy disk to a usb flash drive using |2PC.
Such a utility would certainly need quite a lot of work to develop, as it would require to recreate the whole structure of an image file  (https://www.cpcwiki.eu/index.php/Format:DSK_disk_image_file_format), and for now i'm not thinking to get involved with that (i'm working on another project...  ;D )
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 07:52, 12 June 21
I thought it would be easier, reading a sector and writing it to the file
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 08:32, 12 June 21
Quote from: ikonsgr on 18:37, 11 June 21
(i'm working on another project...  ;D )
Hmmmmnnn I wonder what that is ?

Keep up the good work

Keep Safe
Ray
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 10:30, 12 June 21
@Audronic (https://www.cpcwiki.eu/forum/index.php?action=profile;u=1169) ,it's a 512k ram expansion, but instead of the usual CPLD approach, i use (again  ;D ) a PIC mcu!  :)

@Devlin (https://www.cpcwiki.eu/forum/index.php?action=profile;u=389)  , i had some thoughts about the "most wanted" file manager, and i think it would be rather easy to convert the existed assembly code for |CAT RSX command to output the list of names into memory instead of the screen. Then, using BASIC i could take the data from there and create a table of strings for each name for further proccess. Unfortunately the Basic routine for this it's rather slow (it would take ~4-5 seconds to get each page), but i'm thinking of using Turbo basic compiler to speed things up  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: TotO on 10:38, 12 June 21
The USIfAC II is a great expansion. May be the FDC emulation can be improved by 3rd party?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 11:06, 13 June 21
I tried to run CPM (disk 1) with |MG and |FDC and it doesn't work  :(


The disk are http://www.cpcwiki.eu/imgs/b/b1/CPC6128_System_Disks_%28SP%29.zip


Have you tried?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Mark_wllms on 14:11, 13 June 21
Did you try on an (unmodified) 6128? Was it CP/M Plus?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 17:58, 13 June 21
Quote from: Fran123 on 11:06, 13 June 21
I tried to run CPM (disk 1) with |MG and |FDC and it doesn't work  :(
The disk are http://www.cpcwiki.eu/imgs/b/b1/CPC6128_System_Disks_%28SP%29.zip
Have you tried?

CPM 2.2 (disk 3) works fine but it seems that CPM3/plus can't be used from dsk image as it uses a completely different boot method:
https://www.youtube.com/watch?v=PYur2S_pByk
And this somehow causes problems when loading from image. But i suppose you can copy cpm/plus image to a real disk and use it from disk  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 18:10, 13 June 21
Quote from: TotO on 10:38, 12 June 21
The USIfAC II is a great expansion. May be the FDC emulation can be improved by 3rd party?
FDC emultion is implemented entirely in PIC mcu code using cowbasic. If anyone has experience with cowbasic, he can check the source code inside "inner workings" folder for further details.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 18:25, 13 June 21
New utility:

Finally, the most wanted (by some....  :D) FILEMANAGER is READY! You can download it from here (https://www.dropbox.com/s/aaeqqvvuuln3pcc/File%20manager.zip?dl=0)
Folder contains  small guide (readme.txt) and the source codes (.txt and .asm files) for anyone interested.
I made 2 versions:
One that uses a new RSX command: |MAN (this will be added to a new fw from now on).
and,
One that loads the assmebly routine from a file (can be used with any board),"MANAG.BIN" binary,which is the same RSX routine in file form:
memory &17ff:load"manag.bin",&1800;call &1800

Once executed (either with |MAN or call &1800), it will outputs into RAM ,all the file names inside the current usb directory, starting from address &2000 and in the form of:
1name1name1name1....1name12  ('1' is the separator and '2' points the end of the list)

Using this, it's easy to grab the names and place them inside an array of strings for further proccess.
Now, as i previuolsy noted, i used turbobasic to compile the main Basic program (which contains the navigation and page creation code), in order to achieve fast respond, when you change pages or directories. You can view this code in  MANAGER.TXT Basic file (which is compiled to MANAGER.BIN used). And you can also see a BASIC example of placing names into a string of arrays too.

Finally here is the quick guide:

Copy contents of the folder to usb flash drive root dir,and give to Basic prompt: RUN"FM
Select 'Y'/'y' (Check with |STAT if you board has rev_4d firmware or newer, and then you can also choose "n"/"N")

Use keys:
- Left-Right arrows for changing pages.
- Up/Down arrows for seeking file/dir names into each page.
- <Return> for taking action: If selected name is a directory it will move into it, if it's a "DSK" image it will give you a catalogue of the disk image(CPC6128/664) or it will reset (CPC464) and then  you can access image by giving "CAT".Finally, if it's a file,it will try to execute it. 
- <SPACE> Moves up a directory, if you are inside a sub folder you can also use "." or ".." at the top of first page

notes:

  - by continiously pressing up/down arrows you will get faster movement for quicker seeking,press momentarily for slower "row by row" seeking.
  -.txt and .asm contains the source codes.
  - FM file is a small BASIC program, if you want,you can customize it, to remove the initial question,changing colors of letters/background etc.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 18:32, 13 June 21
AWESOME!
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 19:27, 13 June 21
Thanks for the gentle prod! this will be extremely useful :)


However, I already broke it :( . It tries to run folders as programs if it doesn't have the <DIR> marker at the end of it
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 19:52, 13 June 21
Quote from: Devlin on 19:27, 13 June 21
Thanks for the gentle prod! this will be extremely useful :)
However, I already broke it :( . It tries to run folders as programs if it doesn't have the <DIR> marker at the end of it

If you have a lot of such "un marked" folders, then maybe we can change a bit the code of the BASIC program in order to change the behavior:
10 MODE 2:posi=1:total=0:endline=0:page=1:delay=1000:keypress=0
16 CALL &1800
20 DIM name$(25),startmem(100)
25 FOR i=1 TO 100:startmem(i)=0:NEXT i               
40 page=1:i=0:mem=&2000:GOSUB 2000     
100 CLS:posi=1:total=i:i=1:IF total<25 THEN endline=total-1 ELSE endline=25   
105 PAPER 0:PEN 1
110 WHILE (i<=endline)         
120 PRINT name$(i):i=i+1
130 WEND
140 GOSUB 3005
145 FOR l=1 TO delay:NEXT l     
150 IF INKEY(0)=0 AND posi>1 THEN GOSUB 3000:posi=posi-1:GOSUB 3005:IF (keypress=1) THEN delay=1:GOTO 145 ELSE delay=1000:keypress=1:GOTO 145   
160 IF INKEY(2)=0 AND posi<endline THEN GOSUB 3000:posi=posi+1:GOSUB 3005:IF (keypress=2) THEN delay=1:GOTO 145 ELSE delay=1000:keypress=2:GOTO 145         
170 IF INKEY(8)=0 AND page>1 THEN page=page-1:posi=1:mem=startmem(page):GOTO 2000
180 IF INKEY(1)=0 AND b<>2 THEN page=page+1:posi=1:GOTO 2000
190 IF INKEY(18)=0 THEN GOSUB 1000
195 IF INKEY(47)=0 THEN |CD:CALL &1800:GOTO 40       
196 keypress=0   
200 GOTO 145
500 WHILE LEN(name$(i))>0:PRINT name$(i):i=i+1:WEND
510 END
1000 A$=RIGHT$(NAME$(POSI),3):IF A$="IR>" THEN 1050   
1010 POKE &17F0,LEN(name$(posi))
1015 FOR i=0 TO LEN(name$(posi))-1     
1020 POKE &17F1+i,ASC(MID$(name$(posi),i+1,1))
1030 NEXT i:END           
1050 IF LEFT$(name$(posi),1)="." THEN |CD ELSE A$=LEFT$(NAME$(POSI),(LEN(NAME$(POSI))-6)):|CD,@A$     
1060 CALL &1800:GOTO 40     
2000 i=0
2005 IF startmem(page)=0 THEN startmem(page)=mem       
2010 b=PEEK(mem)
2020 IF (b=1) AND (i<25) THEN i=i+1:mem=mem+1:name$(i)="":GOTO 2010
2030 IF (b=1) AND (i=25) THEN 100
2040 IF b=2 THEN 100
2050 name$(i)=name$(i)+CHR$(b):mem=mem+1:GOTO 2010       
3000 PAPER 0:PEN 1:GOTO 3010
3005 PAPER 1:PEN 0
3010 LOCATE 1,posi:PRINT name$(posi):PAPER 0:PEN 1:RETURN


Perhaps if i assign one more key where when you press it, it will ommit the checking if string name ending in <DIR> and treat name as DIRECTORY will solve the problem.
And you could be informed by a small message on the right corner of screen if this is enabled or not too!  ;)

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 20:07, 13 June 21
That's pretty much exactly what I was thinking for now (and am somewhat halfway through editing) - have an override key for browsing into directories that don't mark themselves as such as a workaround.


Am I correct in understanding MANAG.BIN is a compiled version of MANAGER.TXT?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 20:30, 13 June 21
Not worry,i've already done it! just reload the file manager folder.
I've added key <1>, when pressed all names are treated as directories and you will get a notification at the top right of screen! And if you press it again it's deactivated! And the best thing is , even if you have this mode enabled and try to run a real file or dsk image, it's just give an instant error (no directory found) and... it continues without problem!  :)
So, even if you forgot to deactivate it, for running a file, you just press '1' and you are ready to go!
And now, i think we solve the problem for good!  ;)

"Manag.bin", is the binary of the aseembly routine that extracts directory lists to ram (the equivalent of the new |MAN command). FMANAGER.TXT is the source code for the compiled "FMANAGER.BIN" binary file.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 20:57, 13 June 21
I've done a bit of tinkering here too, and discovered that folders will show their correct directory status *IF* that folder doesn't have the *archive* bit set in Windows - If it does, it doesn't show the <DIR> part CPC-side - downloading the new manager now anyway. having the option to override is helpful.


Run into another issue though - Some games don't load their loading screens correctly, or just outright fail to load when launched through the file manager - I think it's down to memory, is there a way to clear the ram before launching something
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 23:47, 13 June 21
I execute a: "CLEAR:MEMORY 42600" before running the selected file (check the "FM" BASIC program, you can easily change it if you want). Most games work fine with that, but some might have problems.
In that case you can reset (by having the "return to root dir" disabled in order to maintain the current game dir), give a cat, and run the file from "clean start"  ;)
btw,i noticed a couple of games that report "out of memory" error (for example gauntlet), but this turns out to be an incompatibility with cpc464 as the games runned fine (using the Filemanager) on a cpc6128, and also, i got the same error on cpc464, even when i tried to run them from "clean start"....

Quote from: Devlin on 20:57, 13 June 21
I've done a bit of tinkering here too, and discovered that folders will show their correct directory status *IF* that folder doesn't have the *archive* bit set in Windows - If it does, it doesn't show the <DIR> part CPC-side.
WOW! That's a great discovery!  I'll add this tip into user's guide!
So if you just remove all archive bits from all dirs in the usb stick, then all Directories will be shown correctly  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: DoctorCPC on 07:39, 14 June 21
I'm waiting my USIFAC II. exciting times for me :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 12:44, 14 June 21
What is the source of FMANAG.BIN?
New boards only need FMANAG.BIN
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 13:18, 14 June 21
Is it possible to retrieve file sizes at same time?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 15:07, 14 June 21
Quote from: Mark_wllms on 14:11, 13 June 21
Did you try on an (unmodified) 6128? Was it CP/M Plus?


I tried to run CP/M plus, the first disk


CP/M 2.2 runs
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 15:52, 14 June 21
Quote from: ikonsgr on 23:47, 13 June 21
So if you just remove all archive bits from all dirs in the usb stick, then all Directories will be shown correctly  ;)

Seems to be the case. The override is still useful though, so don't ditch it because there's an alternative solution.

Any plans to add a bootloader/auto-update feature to the usifac2? I don't mind getting the kit to reprogram it but would massively prefer an easier way to update
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 16:13, 14 June 21
Quote from: Fran123 on 12:44, 14 June 21
What is the source of FMANAG.BIN?
New boards only need FMANAG.BIN

  The source code for FMANAG.BIN is the "file_manager.asm". This is needed for all boards with current or older firmwares, but, as i manage to add it as RSX command ("|MAN"), it will not be needed for newer boards. Practically the only difference in utilizing the routine in a BASIC program is that, instead of initially loading the binary in memory:
MEMORY &17FF:LOAD"FMANAG.BIN",&1800
and use it by giving a CALL &1800,
You will just give a: "|MAN", which loads and executes the routine directly from USIfAC with the new firmware.

Quote from: Fran123 on 13:18, 14 June 21
Is it possible to retrieve file sizes at same time?
There is actually a function that returns the file size, but i think you can use it, only after a file is opened, and not when you get a catalogue of files. I have to see it more carefully, if it's easy to implement and doesn't take much space, i might add another RSX command to get size of a specific file.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 16:30, 14 June 21
Quote from: Devlin on 15:52, 14 June 21
Any plans to add a bootloader/auto-update feature to the usifac2? I don't mind getting the kit to reprogram it but would massively prefer an easier way to update

Actually,there is a project for bootloaders with PIC mcu: https://sourceforge.net/projects/tinypicbootload/
But i don't know if the specific PIC is supported and also, bootloaders need some program memory too, and currently we left with less than a 1kb.
In anycase, you would still need to use a programmer for the initial flashing of firmware with the bootloader, so practically you can't avoid the ICSP programmer...  ::)
Still, i don't think there will be any significant fw updates in the future, even the latest addtion of |MAN RSX command for the file manager, is not required for older boards  ;D
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 10:28, 15 June 21
Is it possible to put DIR info into a higher address than &1800?Or an option to select that initial address?

I would make a file explorer with more functions
Thank you
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 18:02, 15 June 21
Quote from: Fran123 on 10:28, 15 June 21
Is it possible to put DIR info into a higher address than &1800?Or an option to select that initial address?

I would make a file explorer with more functions
Thank you

There is a reason for why i put this code so "low" in ram: The compiled Basic program (using Hisoft Turbobasic compiler) for file manager ,starts &5AC0 ,this is where turbo basic puts all binaries (and i don't think you can change it). Now, the code for creating directory in RAM, pre-loads the ENTIRE directory, not only the current page. So  if we want to support large directories with many filenames (up to ~1000) we will need plenty of room in ram. And since each file name usually takes ~15 bytes , means that for ~1000 names we will need ~15k. So if you subtract 15000 from &5AC0 you will end up ~&2000. The code for DIR is ~500bytes, e.g. start would be ~&1800  ;)
Of course, if you want to support less filenames for example ~500, you can put DIR code maybe ~&3800, which will leave plenty of room for a rather large Basic program.
Now,changing the address for the DIR binary, is something you can do yourself, rather easy! Inside file manager folder, you will find the asm code for the DIR code, "file_manager.asm":
write"DIRECT_ROM.BIN" 
ORG &1800
data equ &2000
.txt_output equ &bb5a
.km_read_char equ &bb09

ld a,&FB
        in a,(&De)
or a
jp z,no_usb

;CATALOGUE A USB DIRECTORY

call set_directory

ld bc,&fbd0
call clear_buffer
call usb_cmd

ld a,&2f
out (c),a

ld c,&d9
ld a,1
out (c),a
ld a,&FB
        in a,(&D3)
or a
jp nz,continue_man

ld c,&d0
ld a,"/"
out (c),a

continue_man:
ld bc,&fbd0
ld a,"*"
out (c),a
ld a,0
out (c),a
call usb_cmd
ld a,&32
out (c),a

call check_responce2
ld A,&FB
        in A,(&D0) 
cp &1d
jp nz,error_4

ld hl,data
ld a,1
ld (hl),a

loop_mancatalogue:

ld bc,&fbd0
call clear_buffer
call usb_cmd
ld a,&27
out (c),a

call check_responce2
ld A,&FB
        in A,(&D0)
or a
jp z,ending_mancatalogue

ld b,8
call print_man_loop

call check_responce2
ld A,&FB
        in A,(&D0) 
cp &20
jp z,continue2_mancat

ld b,a
ld a,"."
inc hl
ld (hl),a
ld a,b
inc hl
ld (hl),a
continue2_mancat:
ld b,2
call print_man_loop

continue_mancat:

call check_responce2
ld A,&FB
        in A,(&D0) 
cp &10
jr nz,continue_manloop
ld a," "
inc hl
ld (hl),a
ld a,"<"
inc hl
ld (hl),a
ld a,"D"
inc hl
ld (hl),a
ld a,"I"
inc hl
ld (hl),a
ld a,"R"
inc hl
ld (hl),a
ld a,">"
inc hl
ld (hl),a

continue_manloop:
ld a,1
inc hl
ld (hl),a

call clear_buffer
call usb_cmd
ld a,&33
out (c),a

call check_responce2
ld a,&FB
        in a,(&D0) 
cp &1d
jp z,loop_mancatalogue

ending_mancatalogue:
ld a,2
inc hl
ld (hl),a
ret

print_man_loop:
call check_responce2
ld A,&FB
        in A,(&D0) 
cp &20
jr z,cont_print_man
inc hl
ld (hl),a

cont_print_man:
djnz ,print_man_loop

ret

no_usb:
ld hl,message_no_usb_msg
call printmessage
ret


;-----------------------------------------------------------------------------------------
set_directory:
add_sub_dirs2:
ld bc,&fbd9
ld a,1
out (c),a
ld a,&FB
        in a,(&D3)
cp "/"
jp nz,continue_usbcat

add_sub_dirs:
;Add sub dirs
ld bc,&fbd0
call clear_buffer
call usb_cmd
ld a,&2f
out (c),a

ld a,&FB
        in a,(&D6)
CP 2
jr nz,dir_catname

ld a,"/"
out (c),a

dir_catname:
ld a,&FB
        in a,(&D3)
cp "/"
jr z,continue_subdir_loop
or a
jr z,continue_subdir_loop
out (c),a
jr dir_catname

continue_subdir_loop:
ld d,a
ld a,0
out (c),a
call clear_buffer
call usb_cmd
ld a,&32
out (c),a
call check_responce2

ld A,&FB
        in A,(&D0) 
cp &41
jp nz,error_ucd

ld a,d
or a
jr z,continue_usbcat
jp add_sub_dirs

continue_usbcat:
ret
;-----------------------------------------------------------------------------------------
usb_cmd:
ld a,&57
out (c),a
ld a,&ab
out (c),a
ret
;-----------------------------

;---------------------------------------------------------------------------------------
check_responce2:
        ld a,&FB
        in a,(&D1) 
        dec a
        jr z,check_responce2
ret
clear_buffer:
inc c ;clear buffer
ld a,1
out (c),a
dec c
ret

;-----------------------------------------------------------------------------------------
error_4:
ld bc,&fbd1
ld a,9
out (c),a
ld hl,error4_message
call printmessage
ret
;-----------------------------------------------------------------------------------------
printmessage:
ld a,(hl)
or a
ret z
call &bb5a
inc hl
jr printmessage
;-----------------------------------------------------------------------------------------
error_ucd:
ei
ld hl,error3_message
call printmessage
ret

message_no_usb_msg:
defb "Usb Device not enabled!",13,10,0

error4_message:
defb "No File(s) or Dir(s) Found!",13,10,0

error3_message:
defb "Unexpected error!",13,10,0


As you can see, you can easily change the starting address by replacing the ORG directive and data tag ,at the top of the code. Then you can simply use an assembler (i use winape's assembler, but i suppose you can use any other assembler you want) to produce the binary file. Finally i use CPDDISKXP to create the amsdos header for the binary (just create  new dsk image and add the binary, program will ask you if you want to add header and give start&execution addresses, which both should be the address used in ORG directive). Then you simply  extract the file created by cpcdiskxp which can be used with any basic program by giving: Memory addr-1:load"FMANGER.BIN",addr:call &addr (where addr is the address given in ORG directive)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 21:03, 15 June 21
is there any error when you put some commands??


I have done a program that sends |DIS, |USB and |EN several times in a minute, and CPC freezes or reboots
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 23:05, 15 June 21
 Why on earth you need to do such a thing? :)
In anycase, i doubt that |DIS and |EN commands can cause any problem (they are simple out commands to the board), but |USB, especially when it activates the usb host module, does a lot of things (in order to enable and activate module and any usb device attached),so i wouldn't recommend to "play" with that. But maybe  issuing a delay between enable/disable of usb host module, could avoid unpleasant behaviors
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 07:01, 16 June 21
I want copy the disk image to file, then I read a track and then write to usb (each track is a file and later I join them on PC). I use a 2-second delay between rsx commands.  You have to do something similar for |2PC command.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 07:53, 16 June 21
Quote from: Fran123 on 07:01, 16 June 21
I want copy the disk image to file, then I read a track and then write to usb (each track is a file and later I join them on PC). I use a 2-second delay between rsx commands.  You have to do something similar for |2PC command.
Perhaps you mean you write a dsk image to a floppy disk (with |DSK)  and then read a track from disk and save it to a usb file?
Anyway, you don't have to use |USB for enabling/disabling the disk drive,this command is intended to be used ONLY once, after initial powering of amstrad!
In order to read/write from floppy disk drive, you just give |DIS (or an out &fbd1,4 which is essentially the same thing, you can see that in the first lines, if you get a list of the BASIC listing of the |2PC) , this will direct all amsdos routines (like CAS IN OPEN, CAS OUT OPEN, BIOS READ SECTOR, BIOS WRITE SECTOR, BIOS FORMAT TRACK etc) to the disk drive!
At the same time, access to a usb file can be made without problem, as this is done using the I/O serial port of USIfAC II  (&FBD0) that comunicates directly with USB host module!  ;)
So in 2 words if you want to read from disk drive and write to a usb file at the same time, the only thing you need to do is to give |DIS or OUT &FBD1,4 . And ofcourse you can always use |EN -or out &fbd1,5- to re-enable redirection of all Amsdos routines back to usb!  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 08:01, 16 June 21
I want to create DSK files of my old disks.
I will follow your advices this afternoon
Thank you!
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 08:32, 16 June 21
My pleasure  :)
And if you need anything else feel free to ask!  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ajcasado on 09:49, 16 June 21
Quote from: ikonsgr on 18:02, 15 June 21So  if we want to support large directories with many filenames (up to ~1000) we will need plenty of room in ram

You could use a temporary file in the USB drive instead of RAM.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 19:57, 16 June 21
I only removed |USB from my code and it works now!
In the PC, I remove the 128-byte header of each file, join them and get the raw disk image.
For getting the dsk file I have my own program.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 22:33, 16 June 21
Quote from: ajcasado on 09:49, 16 June 21
You could use a temporary file in the USB drive instead of RAM.
I'm afraid using a usb file will still need a buffer to store all names in ram first. You see, usb host module is not multitasking, meaning that, when you ask to get the name list of a directory, you CAN'T have a file opened and write it at the same time! The only way to do it, is to store all names in a buffer, and then write them to a usb file.
One other alternative would be to use the RAM of the PIC Microcontroller (usb host module uses only 128bytes for buffering, so we would have ~3,5KB of ram ), but this could store ~250 names....
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 22:35, 16 June 21
Quote from: Fran123 on 19:57, 16 June 21
I only removed |USB from my code and it works now!
In the PC, I remove the 128-byte header of each file, join them and get the raw disk image.
For getting the dsk file I have my own program.
Great! Perhaps you could write a small guide for anyone want to get a dsk image from floppy disks too  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Mark_wllms on 15:23, 17 June 21
I wonder if there is any way to get CP/M Plus discs to boot? I was trying to run some Infocom games, which I think would work better under CP/M plus. I considered running a snapshot, but I can't think how to load a disk image and a snapshot at the same time.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 16:14, 17 June 21
Quote from: Mark_wllms on 15:23, 17 June 21
I wonder if there is any way to get CP/M Plus discs to boot? I was trying to run some Infocom games, which I think would work better under CP/M plus. I considered running a snapshot, but I can't think how to load a disk image and a snapshot at the same time.
Well, you can always use |DSK to copy image to a real disk and boot from the disk  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 18:16, 17 June 21
Quote from: ikonsgr on 22:35, 16 June 21
Great! Perhaps you could write a small guide for anyone want to get a dsk image from floppy disks too  :)



It's easy.


Steps:


From CPC: Copy each track of disk to file in USB, 40 tracks -> 40 files
Each track has 9 sectors of 512 bytes, then the track file size is 128+512*9


From PC: Remove the AMSDOS header of each file (the first 128 bytes) and join them. You have your disk on RAW format.




How to read a sector:


You have to store these bytes in #a000. It's a function coded in asm.
DATA

&21,&1c,&a0,&cd,&d4,&bc,&22,&1d, &a0,&79,&32,&1f,&a0,&21,&20,&a0
&5e,&23,&56,&23,&4e,&21,&30,&a0, &df,&1d,&a0,&c0,&84 

setting parameters:

POKE &A017, addrh : POKE &A016, 0
'address where sector bytes will be stored = addrh*256
POKE &A020, drive : POKE &A021, track : POKE &A022, sector

Invoquing the function
CALL &A000

Now sector bytes are in (addrh*256)


Creating DSK file
The truth is out there:
https://www.cpcwiki.eu/index.php/Format:DSK_disk_image_file_format (https://www.cpcwiki.eu/index.php/Format:DSK_disk_image_file_format)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 11:56, 18 June 21
The "approach" you used of getting the raw sector data and then create the dsk image, gave me an idea:
Since creation of a dsk image "from the scratch" would need a lot of code (and effort), why don't we use a ready made dsk image and then just place sector data into it, something much easier and simpler thing to do!  ;)
And since 99% of old disks we had back in the 80's was standard "Data format" disks, we can use a standard 40tracks/ 9sectors/track disk image!
The whole procedure would look like this:
- First, select the pre-made (i use CPCDISKXP to make such an empty image in 2 seconds :-) ), using the currently existed RSX command: |MG.
- Run a loop for tracks 0 to 39
- Run  a nested loop for sectors C1 to C9 with the simple code:
            - Disable fdc emulation and call READ SECTOR routine for reading Disk drive (with the appropriate Drive,Track,sector numbers)
            - Enable fdc emulation and call WRITE SECTOR routine (this will redirect amsdos calls to usb host module and the selected DSK image)

The code for the above procedure would be a rather easy thing to, and you will get an image from a floppy disk in a single step! I'll see if i can make it in the weekend!  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Mark_wllms on 12:28, 18 June 21
Quote from: eto on 18:32, 13 June 21Finally, the most wanted (by some....  ) FILEMANAGER is READY! You can download it from here
This is very helpful. I have used it like this:
I have got rid of CPCLoader Basic shortcuts and put the file manager into the root of the USB. Then I made folders for #,A..Z and put all my direct load folders, snapshots and disk files into the appropriate folder.
Now I ¦USB: RUN"FM and then just select a folder, select a snapshot / disk image / folder and then run the game. It's very easy, and straight forward to maintain. None of my folders runs more than 2 pages at the moment.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 13:03, 18 June 21
Quote from: ikonsgr on 11:56, 18 June 21
The "approach" you used of getting the raw sector data and then create the dsk image, gave me an idea:
Since creation of a dsk image "from the scratch" would need a lot of code (and effort), why don't we use a ready made dsk image and then just place sector data into it, something much easier and simpler thing to do!  ;)
And since 99% of old disks we had back in the 80's was standard "Data format" disks, we can use a standard 40tracks/ 9sectors/track disk image!
The whole procedure would look like this:
- First, select the pre-made (i use CPCDISKXP to make such an empty image in 2 seconds :-) ), using the currently existed RSX command: |MG.
- Run a loop for tracks 0 to 39
- Run  a nested loop for sectors C1 to C9 with the simple code:
            - Disable fdc emulation and call READ SECTOR routine for reading Disk drive (with the appropriate Drive,Track,sector numbers)
            - Enable fdc emulation and call WRITE SECTOR routine (this will redirect amsdos calls to usb host module and the selected DSK image)

The code for the above procedure would be a rather easy thing to, and you will get an image from a floppy disk in a single step! I'll see if i can make it in the weekend!  ;)
I did a java program to generate the dsk file, it's very simple, I'll try to post this evening.
Anyway I like your idea and I'll try do it as you say.Other question, is it possible to create an empty disk (as dsk file) from basic?  Is there any command?   If I want to pass X disks, I have to have X dsk files previously.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 16:56, 18 June 21
I have tested some DSK of CPM and none of them works with |CPM  :(
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 17:52, 18 June 21
Quote from: Fran123 on 13:03, 18 June 21
Other question, is it possible to create an empty disk (as dsk file) from basic?  Is there any command?   If I want to pass X disks, I have to have X dsk files previously.
I'm afraid it's not possible. But it might help to use the multiple dsk image function, where you can load up to 4 empty dsk images and select them using the dsk_swap button.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 17:58, 18 June 21
Quote from: Fran123 on 16:56, 18 June 21
I have tested some DSK of CPM and none of them works with |CPM  :(
Did you try to copy them to disks (using |DSK) and see if they work?
I think that this problem with cpm plus images, has to do, not so with the FDC emulation itslef, but rather with amsdos calls when fdc emulation is enabled.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 18:08, 18 June 21
I have tried the above method i described, i manage to copy a floppy disk to a dsk image successfully, but the "Side effect" is that WRITE SECTOR routine somehow destroys the disk!
I suspect that although fdc emulation takes control of the communication with asmtrad, because disk drive is also attached ,it receives the commands and somehow this, results in detroying disk sectors! I've tried to write protect disk, but unfortunately this didn't help either (i got an error message or if i disable error messages amstrad crashes)
One solution might be to write the readed sector in both usb file and disk drive , or we throw away write sector routine and use cutom routines that write data to usb file directly...  ::)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: TotO on 19:02, 18 June 21
May be adding a "write track" feature can be a work around? (don't exist on the UPD765, but on other FDC like WD)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 19:25, 18 June 21
Quote from: ikonsgr on 18:08, 18 June 21
I have tried the above method i described, i manage to copy a floppy disk to a dsk image successfully, but the "Side effect" is that WRITE SECTOR routine somehow destroys the disk!
I suspect that although fdc emulation takes control of the communication with asmtrad, because disk drive is also attached ,it receives the commands and somehow this, results in detroying disk sectors! I've tried to write protect disk, but unfortunately this didn't help either (i got an error message or if i disable error messages amstrad crashes)
One solution might be to write the readed sector in both usb file and disk drive , or we throw away write sector routine and use cutom routines that write data to usb file directly...  ::)
In that case, we have to remove the amsdos header in a pc

I'm trying copy a disk in winape firstly, but my write sector function crashes the emulator  :(
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 12:14, 19 June 21
Finally, i finished it!
So, another new utility, for creating disk images from old floppy disks in just 40 seconds!
You can use it with older and newer boards, just extract the zip file (https://www.dropbox.com/s/8bvtqmbz0k3o4na/Disk2image.zip?dl=0) to usb stick and run "disk2img.bas".

You will be asked to give a disk image name (you can use the included TEMP.DSK or any other standard DATA format dsk image).
For root directory you should also add a  '/' in front of name, e.g.: '/TEMP.DSK', but if you use a folder, you don't need to add '/'.
Utility can transfer only standard "data format" floppy disks (40 tracks with 9sectors/track, 512 byte/sector), which i believe was, the vast majority of disks used back in the '80s. 
And here is the code:
;; firmware function to find a RSX
.kl_find_command equ &bcd4

write"get.BIN" 
name_adr equ &9000
org &8000
;nolist

;;------------------------------------------------
;; find BIOS: READ SECTOR command

ld hl,2
ld (position),hl
ld hl,cmd_bios_read_sector
call kl_find_command
ret nc

;; command found
;; store address of command
ld (bios_read_sector),hl
;; store "rom select" of command
ld a,c
ld (bios_read_sector+2),a

ld bc,&fbd1
ld a,4
out (c),a
ld a,7
out (c),a
ld hl,message1
call print_msg

dec bc
ld a,&57
out (c),a
ld a,&ab
out (c),a
ld a,&2f
out (c),a
ld hl,name_adr
name_loop:
ld a,(hl)
or a
jr z,contin
out (c),a
inc hl
jr nz,name_loop
contin:
xor a
out (c),a
call clear_buffer
ld a,&57
out (c),a
ld a,&ab
out (c),a
ld a,&32
out (c),a

call check_responce
ld A,&FB
        in A,(&D0) 
cp &14
jp nz,no_file

call seek
in a,(c)
cp &14
jp nz,no_file
;;------------------------------------------------

;; disable FDC emualation for reading sector data from disk drive


cont1:

;; D = track number
xor a
ld (track),a

;; C = sector id
ld bc,sector_list
ld (current_sector),bc
ld a,(bc)
ld c,a

main_loop:

;; disable FDC emualation for writing sector data to selected image file
;; E = drive number (0 or 1)
ld e,0
ld hl,buffer
ld a,(track)
ld d,a
ld bc,(current_sector)
ld a,(bc)
ld c,a
;; execute command
rst 3
defw bios_read_sector
call write_sector

;; C = sector id
ld bc,(current_sector)
inc bc
ld a,(bc)
or a
jr z,reset_sector
ld (current_sector),bc
ld c,a
jr main_loop

reset_sector:
ld a,"."
call &bb5a
ld bc,sector_list
ld (current_sector),bc
ld a,(sector_list)
ld c,a
;; D = track number
;; (change this value to define the track to write to)
ld a,(track)
inc a
cp 40
jr z,end_routine
ld (track),a
ld hl,(position)
ld bc,&13
add hl,bc
ld (position),hl
call seek
in a,(c)
cp &14
jp nz,no_file
jr main_loop

end_routine:

ld a,&57 ;close file
out (c),a
ld a,&ab
out (c),a
ld a,&36
out (c),a
xor a
out (c),a
ret

write_sector:
ld bc,&fbd0
ld hl,buffer
ld d,4
next_chunk:
ld e,128
call clear_buffer
ld a,&57
out (c),a
ld a,&ab
out (c),a
ld a,&3c
out (c),a

out (c),e
xor a
out (c),a
call check_responce


call clear_buffer
ld a,&57
out (c),a
ld a,&ab
out (c),a
ld a,&2d
out (c),a
call check_responce
ld A,&FB
        in A,(&D0)

loading:
inc b
outi
dec e
jr nz, loading

call clear_buffer
ld a,&57
out (c),a
ld a,&ab
out (c),a
ld a,&3d
out (c),a
call check_responce
dec d
ld a,d
or a
jp nz,next_chunk
ret
;------------------------------------------------------------

check_responce:
        LD A,&FB
        iN A,(&D1) 
        DEC A
        JR Z,check_responce
ret

clear_buffer:
inc bc ;clear buffer
ld a,1
out (c),a
dec bc
ret

seek:
ld hl,(position)
ld d,0
ld e,h
ld h,l
ld l,0
ld bc,&fbd0
call clear_buffer
ld a,&57
out (c),a
ld a,&ab
out (c),a
ld a,&39
out (c),a
out (c),l
out (c),h
out (c),e
out (c),d
call check_responce
ret

print_msg:
ld a,(hl)
or a
ret z
call &bb5a
inc hl
jr print_msg


no_file:
ld hl,no_file_msg
call print_msg
ret

no_file_msg:
defb "Image file not found!",13,10,0

message1:
defb "Copying to dsk image:",13,10,0

;; this is initialised when the "BIOS: READ SECTOR" RSX has been found.
bios_read_sector:
defw 0                    ;; address of function
defb 0                    ;; "rom select" for function

cmd_bios_read_sector:
defb 4+&80 ;; this is the "BIOS: READ SECTOR" RSX

;;------------------------------------------------------------------
sector_list:
defb &c1,&c6,&c2,&c7,&c3,&c8,&c4,&c9,&c5,0
; defb &c1,&c2,&c3,&c4,&c5,&c6,&c7,&c8,&c9,0

current_sector:
defw 0
position:
defw 0
track:
defb 0
buffer:
defs 1


By modifying the bytes under "sector list" tag, it would be easy to modify routine to take backup images of different disks too (like system/cpm disks or with more tracks or sectors/track) but note that you should use the appropriate image file too. Empty Disk images can be easily made using cpcdiskxp utility (http://www.cpcmania.com/cpcdiskxp/cpcdiskxp.htm).
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 14:26, 19 June 21
Thank you!!


The difference between standard and system disks is the name of sectors (&c1-&c9 and &41-&49). Maybe you can support any kind of parameter.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 22:01, 19 June 21
Ok, i made a slight mod to the assembly code and the Basic program, and now you can take backup from either DATA or SYSTEM disks!  ;)
Program will also ask to choose for DATA or SYSTEM disk. I've included in the zip file DATA.DSK and CPM.DSK images to use.
The sector list is now accesible from BASIC program (lines 250-260), so it's easier to modify it for any special needs (like a disk with more than 40 tracks and/or more than 9sectors/track):

10 CLS
15 MEMORY &7FFF:LOAD"GETIMG.BIN",&8000
20 INPUT"Dsk image name";A$ 
30 SIZE=LEN(A$)
40 FOR i=1 TO SIZE
50 POKE &8FFF+i,ASC(MID$(a$,i,1)) 
60 NEXT i
70 INPUT"Data(1) or System(2)";a
80 IF a<1 OR a>2 THEN 70
90 IF a=1 THEN GOTO 200 ELSE 210
200 RESTORE 250:GOTO 220
210 RESTORE 260
220 FOR I=0 TO 9
230 READ a:POKE &8500+i,a
240 NEXT i
245 CALL &8000:PRINT:GOTO 20
250 DATA &C1,&C6,&C2,&C7,&C3,&C8,&C4,&C9,&C5,0
260 DATA &41,&46,&42,&47,&43,&48,&44,&49,&45,0


Note also that, if some disks use sequential order of sectors instead of interleaved (&c1,&c2,&c3... instead of the usual &c1,&c6,&c2...), you can easily change the order of sectors too (along with using an appropriate disk image of course)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 11:28, 20 June 21
I've made some modifications to the File manager too.
I've increased the delay for key press to get more accurate and smooth movement. Also, i move buffer for directory and code higher in ram @&2900 (instead of previous &1800, it can now support less names but still ~1000/directory which i think is more than enough  ::) ), so now you will have ~10k available for any BASIC program that needs to utilize the directory routine.  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 11:36, 20 June 21
Quote from: ikonsgr on 11:28, 20 June 21I've made some modifications to the File manager too. I've increased the delay for key press to get more accurate and smooth movement. Also, i move buffer for directory and code higher in ram @&2900 (instead of previous &1800, it can now support less names but still ~1000/directory which i think is more than enough  ::) ), so now you will have ~10k available for any BASIC program that needs to utilize the directory routine.  ;)



i needs it :3
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 11:40, 20 June 21
btw,i've just copy (using |DSK) the cpm/plus disk 1 (that doesn't seem to work using FDC emulation, and the image) to a floppy disk, and now it can loads fine from disk!  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 21:07, 20 June 21
A thousand of thanks for your support!
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 07:55, 21 June 21
Quote from: Fran123 on 21:07, 20 June 21
A thousand of thanks for your support!

Well, i'm thinking to improve disk2image function by making it completely automated:

- Use GET_SECTOR_DATA Amsdos routine to automatically determine the type of inserted disk (System,Data or IBM), so no need to ask for disk type.
- Use BIOS_READ_SECTOR routine to automatically determine the number of sectors/track (9 or 10) and automatically use the appropriate image file.
- Use BIOS_MOVE_TRACK routine to automatically determine the number of tracks of the disk (i suppose i can use 42 track image files for all disks, normal disks will just not use the last couple of tracks).
- Add mutliple DATA and CPM disk images to folder (with names like DATA1.DSK, DATA2.DSK etc), and modify BASIC program to choose automatically one image after the other,program will inform you for the name of image used for each disk! So,if i add 10 disks, you will be able to take back up of 10 floppy disks in a row!  ;) And the good thing is, that you can copy these images from usb flash drive to your PC, laptop etc and then re-use them directly for taking backup images of another 10 disks!

So practically the only thing you will need to do is to change disks and press a key!  ;D


btw, i'm in a process of creating a "get file size" routine that will help adding file size information to the name catalogues even with file manager too!  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 08:08, 21 June 21
I was going to tell you the first point.Another question, is it possible to create an empty file without headers. I guess it must be done from the chip on board.

On the other hand, I want to improve the file explorer, but I need some easy routines (for you). I need execute |stat command, but I need the results in memory address, not as console output.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 08:21, 21 June 21
0
Quote from: Fran123 on 08:08, 21 June 21
I was going to tell you the first point.Another question, is it possible to create an empty file without headers. I guess it must be done from the chip on board.
You can save headerless(=ascii) files using Basic's openout command. From assembly, you can use all Firmware routines to create a headerless file too, using CAS_OUT_OPEN, CAS_OUT_CHAR and CAS_OUT_CLOSE. This way you can create headerless custom made files, and read them using CAS_IN_CHAR. Only drawback is that read/write would be rather slow (comparing to the CAS_DIRECT routines which give you the maximum speed).

Quote from: Fran123 on 08:08, 21 June 21
I need execute |stat command, but I need the results in memory address, not as console output.
That's easy. Just give OUT &FBD1,30. You will get the results char by char, by reading USIfAC II buffer:

10 DIM STATUS(200):I=1:OUT &FBD1,1:OUT &FBD1,30  (&FBD1,1 is for clearing buffer before getting report)
20 WHILE INP(&FBD1)=255
30 STATUS(I)=INP(&FBD0):i=i+1
40 WEND


After executing the above program, you will have the status report saved into STATUS array!  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: issalig on 11:16, 21 June 21
I am taking a look at the schematics and I have seen that microcontroller pin 37 (RB4)  is not connected but in my board (green with usb soldered and no SWAP) it is connected to A5.
Looking the PIC code it is only set as an input ( DIR portB.4 IN ) but it looks like it is not used.
Maybe this schematic is for new boards (white ones)?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 19:42, 21 June 21
I just update the file manager,it now includes an alternative one (fsm) which gives you also size of each file next to filename: 

[attach=1,msg203948]

Appart from having a bit slower respond (due to extra proccess), the 2 managers are working with exact the same way. You can check FSMANAG.BAS to see how exactly i did it (this is the source code for making FSMANAG.BIN binary, using turbo basic compiler).

Quote from: issalig on 11:16, 21 June 21
I am taking a look at the schematics and I have seen that microcontroller pin 37 (RB4)  is not connected but in my board (green with usb soldered and no SWAP) it is connected to A5.
Looking the PIC code it is only set as an input ( DIR portB.4 IN ) but it looks like it is not used.
Maybe this schematic is for new boards (white ones)?
This pin is connected to A.5 pin (which is actually A5 bit of the address bus). It's a result of a restriction in the pins you can use as inputs, for the CLC modules. 
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 20:21, 21 June 21
Quote from: ikonsgr on 19:42, 21 June 21
I just update the file manager,it now includes an alternative one (fsm) which gives you also size of each file next to filename: 

 

Appart from having a bit slower respond (due to extra proccess), the 2 managers are working with exact the same way. You can check FSMANAG.BAS to see how exactly i did it (this is the source code for making FSMANAG.BIN binary, using turbo basic compiler).
This pin is connected to A.5 pin (which is actually A5 bit of the address bus). It's a result of a restriction in the pins you can use as inputs, for the CLC modules.


Oh my. That's ace!
It seems also that the issue from before where certain games would fail to load from the file manager was fixed too. thank you for saving my 464 keyboard <3
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 00:10, 22 June 21
Quote from: ikonsgr on 19:42, 21 June 21
I just update the file manager,it now includes an alternative one (fsm) which gives you also size of each file next to filename: 
Hi John
The Readme.txt  Mentions "Check with |STAT if you board has rev_4c firmware or newer"

I can only find Revision 4B Firmware ??
Is there a link to rev-4c or above ?

Keep Safe 
Ray
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 13:52, 22 June 21
Quote from: Audronic on 00:10, 22 June 21
I can only find Revision 4B Firmware ??
Is there a link to rev-4c or above ?

I haven't upload this version yet,i want first to make the modifications to the disk2image routine, and see if i can also add it as an extra RSX command, along with |MAN for getting the directory filenames into ram. This most probable, would be the final firmware version, there is no space left for anything else, and besides, i don't think there is anything else to add anymore!  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 14:04, 22 June 21
Ok Thanks
I will await the update


Thanks
Keep Safe
Ray
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 20:00, 23 June 21
I've upload the new version of disk2image routine with a few enhancements:
- Automatically recognize System,Data or IBM Disk format.
- Transfer up to 9 disks in a row by automatically selection of ready made image files.
- Support up to 42 tracks.

Inside zip file, you will find 9 dsk images for each format (DATx.DSK , CPMx.DSK, IBMx.DSK), program informs you which image file is used for each floppy disk:

[attach=1,msg204045]

All image files are reusable,meaning that you can overwrite them with backups of new disks, without needing to use "empty" images.
I'm also planing to add this "disk2image" routine as a new RSX commamnd into firmware, and along with the addition of RSX command |MAN for filemanager, would probably be the last firmware update  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 07:33, 24 June 21
Hello
I think the utilities dsk2image and image2dsk mustn't be as RSX command using ROM memory. If there was memory to spare, yeah.
I dont't know why you need a DSK file previously, I think you can create it on execution time.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 09:56, 24 June 21
Quote from: Fran123 on 07:33, 24 June 21
I think the utilities dsk2image and image2dsk mustn't be as RSX command using ROM memory. If there was memory to spare, yeah.
Image2disk is an rsx command (|DSK)  even from the first firmware release. I manage to make ~1kb of free space in microcontroller program memory, which i can use to add the recent reverse "Disk2image" utility as an rsx command too.

Quote from: Fran123 on 07:33, 24 June 21
I dont't know why you need a DSK file previously, I think you can create it on execution time.
You need to have a ready made proper dsk image (e.g. of DATA, SYSTEM or IBM format, which use different sector code numbers) because,
the Disk2image utility only copies the raw sector data to the corresponding positions of the image file, it DOESN'T create a NEW image!
This would require a lot more code and effort, as structure of a dsk image is rather complex: https://www.cpcwiki.eu/index.php/Format:DSK_disk_image_file_format
But even so, you can just copy all the pre-made dsk images to your usb flash drive, run the utility, and make up to 9 backups of disks in a row, in just a few minutes (it takes only 40seconds to get each disk image)! Then, you can copy your backup images from the usb stick and rewrite the same images to backup other disks.
Practically this might be even easier and faster compared to giving an image file name for each disk (if utility could create one)...  ;D
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 19:20, 24 June 21
And the last utility we need is a copier for files inside usb, maybe something like that |COPYUSB,"src","dest", and the program (.bin) for older boards (I got one two weeks ago).
The copier program must ask SRC and DEST.
;)


At the end Usifac will be very complete extension ;)

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 20:43, 24 June 21
Quote from: ikonsgr on 08:21, 21 June 21by reading USIfAC II buffer:
Code: [Select]
Quote from: ikonsgr on 08:21, 21 June 2110 DIM STATUS(200):I=1:OUT &FBD1,1:OUT &FBD1,30  (&FBD1,1 is for clearing buffer before getting report)
20 WHILE INP(&FBD1)=255
30 STATUS(I)=INP(&FBD0):i=i+1
40 WEND

 After executing the above program, you will have the status report saved into STATUS array! 

I get 165 zeros :(
I added   35 print status(i)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 23:02, 24 June 21
Strange, on my amstrad works fine. Check again your listing maybe you have some type error somewhere.
What exactly you mean by copy files inside usb? Move a file to another directory perhaps?
Anyway,i manage to modify the disk2image routine to an rsx command (|DISK,"name") which also creates a dsk image file, without needing a pre-existed one  ;D
I'll see to make it as a stand alone program and upload it in the weekend.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 07:49, 25 June 21
Quote from: ikonsgr on 23:02, 24 June 21What exactly you mean by copy files inside usb? Move a file to another directory perhaps?

just copy, like "COPY A B" or "copy /dir1/dir2/A /dir3/dir4/B"

and as you say, a MOVE too.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 10:29, 25 June 21
Hello
I have just got and ESP01 and adaptor from Aliexpres. Can I plug directly to the UsifacII board?  Or have I flash the ESP01?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Skunkfish on 10:59, 25 June 21
Quote from: Fran123 on 10:29, 25 June 21
Hello
I have just got and ESP01 and adaptor from Aliexpres. Can I plug directly to the UsifacII board?  Or have I flash the ESP01?


I think it's good to go. I assume the adaptor is the the one with the 3.3V LDO regulator?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 17:01, 25 June 21
Quote from: Fran123 on 07:49, 25 June 21
just copy, like "COPY A B" or "copy /dir1/dir2/A /dir3/dir4/B"
and as you say, a MOVE too.
Filecopy between different dirs in usb device, might sound easy in theory, but it would be rather difficult to make it in practice. The problem is that, you can't have 2 files ,one to read and one to write, both openned at the same time.So it would require to use a buffer in Amstrad's ram, and manage access of read & write files sequentially. As for MOVE, is nothing but a file copy that deletes the source file in the end. I will have to give it a thought and see if and how can be done.

Now, i just upload a new version of image2disk function!
This time, it creates the image file by the given name, so no need to have premade images in flash drive.
Again, it supports data,system/cpm and ibm formats and up to 42 tracks. It usually takes ~40seconds for each disk transfer.
I have also developed it as a new RSX command: |DISK,"name",(1) . The optional 2nd argument '1', is for automatically creating new image files, based on the name you give ,by adding a letter at the beginig of the name. If for example you give name: "BACKUP.DSK" ,with the extra argument '1', program will  name  images: "ABACKUP.DSK", "BBACKUP.DSK","CBACKUP.DSK" etc. So you could take many backups in a row, by only changing disks and pressing a button  ;)

From this point, it could be possible to develop a more complex (and of course slower ) routine, to support non standard disks, like with more than 9sectors/track or various formats for each track, but i really don't know if it's worth the trouble, as this function would be mostly needed to back up old 3" disks which 99,9% chances are they would be
standard data or system/cpm format disks. Besides, non standard disks where in most cases copy protected games that would be practically impossible to produce a working image from them...  ::)


p.s. @FRAN123, you really have become a... "motivation engine" for further USIfAC development  :laugh:
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 17:52, 25 June 21
Quote from: ikonsgr on 17:01, 25 June 21p.s. @FRAN123, you really have become a... "motivation engine" for further USIfAC development

Thank you, I'm programmer and I think a lot of things, but with your device, you'll always be one step in front of me (obviously).  I would like help more, but I have my asm and basic rusty.

Sometimes I have had an idea, and later I have seen you hast post my idea or similar.

I hope you give me a unit because mine is going to be very outdated ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 20:38, 25 June 21
More...


I used Arduino and ESP01 some years ago and I got to do a request to a web server and receive the page.


I don't know how ESP01 is configured with UsifacII and if it is possible to make request to servers (using AT commands), because with |wifi  command it ask about a server and a port (I guess the server and port used by windows application), and it gets the network configuration with DHCP.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: kolleykibber on 21:13, 25 June 21
Hi @ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541)


If you're thinking of doing more..!

I wonder if there could be a way to use the serial port and the usb without relying on cpc side code. So if the cpc requested files then enable the usb or if it requested the serial port then enable the port. From the schematic I think they share the same tracks, so I imagine this may require a change to the hardware?


Thanks again for all the inspiration!





Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 19:59, 26 June 21
Quote from: Fran123 on 20:38, 25 June 21
More...
I used Arduino and ESP01 some years ago and I got to do a request to a web server and receive the page.
I don't know how ESP01 is configured with UsifacII and if it is possible to make request to servers (using AT commands), because with |wifi  command it ask about a server and a port (I guess the server and port used by windows application), and it gets the network configuration with DHCP.
For manually configuring Esp modules you can use |COM, it's a small terminal desgined exactly for that purpose.  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 20:05, 26 June 21
Quote from: kolleykibber on 21:13, 25 June 21
Hi @ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541)
If you're thinking of doing more..!
I wonder if there could be a way to use the serial port and the usb without relying on cpc side code. So if the cpc requested files then enable the usb or if it requested the serial port then enable the port. From the schematic I think they share the same tracks, so I imagine this may require a change to the hardware?
Thanks again for all the inspiration!
Usb module can be activated or deactivated on demand (using the |USB command). Also the direct serial connection to a pc can be activated/deactivated with |EN command.
In any case, the serial port is completely independant, and you can use it directly by giving OUT or IN commands to ports &FBD0 and &FBD1.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 21:21, 26 June 21
I got some problems:


I executed run"getimg.bas", wrote the disk name, but I didn't find the DSK file.  Where does the program save the DSK file?

I turned off and on the CPC and run"getimg.bas" doesn't work. If I want to use it again, I have to copy to usb again. Not useful :(


The board version is 4a


I attach a image where I load first the BAS file and then run. It seems BIN file got corrupted. That happened twice.

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 23:46, 26 June 21
I just test 4a firmware and worked fine. I even test it with an old 2a firmware and program also worked fine.
You should also place program files to root dir of usb flash drive, i haven't test it inside a subdir to see if it works ok too (|DISK command works ok though)
Anyway, this kind of behavior, running a Basic program resulting in corruption of the basic code itself,  is something highly irregular, that usually is not caused by software.
Try using a different usb flash drive, or make a small fat partition and see if the problem solves.
Also, if you experience and other strange behaviors with the board, there might be a connection problem somewhere (usually it's bad contact with edge connector or in rare cases,a  bad contact of ribbon cable).
Finally, if you still have such problems,i'm afraid something is wrong with your amstrad...  ::)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 10:19, 27 June 21
Well


If I have that files (GETIMG.*) in root directory it works, but it is a mess having many files in root.



Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 10:22, 27 June 21
Another trouble,


When I boot with usb and wifi, and I write |usb sometimes the response is "unexpected error" or "CH376 USB module not found" or something similar.  And sometimes it is resolved reseting.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 10:12, 29 June 21
Quote from: Fran123 on 10:22, 27 June 21
Another trouble,
When I boot with usb and wifi, and I write |usb sometimes the response is "unexpected error" or "CH376 USB module not found" or something similar.  And sometimes it is resolved reseting.

  This might be a power problem. Esp 8266 Wifi modules draw quite a lot of current (especially at start), and if you add the power needs of the usb host module + USIfAC board and the connected usb flash drive (which also might draw a lot of extra current), 5v supply pin from amstrad might not be enough.
Try use bigger 5v psu that can supply more current, or a smaller (with less power needs) usb flash drive, this might solve the problem.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 07:50, 30 June 21
I use one of 5V/3A.  CPC needs 1.7V, the rest is for Usifac2, USB module and ESP01.  I think it is enough.  ESP01 needs 100mA at start up.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 10:56, 01 July 21
Quote from: Fran123 on 07:50, 30 June 21
I use one of 5V/3A.  CPC needs 1.7V, the rest is for Usifac2, USB module and ESP01.  I think it is enough.  ESP01 needs 100mA at start up.

Get an Y cable, and measure what you really measure when everything is ON and running (Volts!).
Often they drop to 4,5 Volts of so, when being used even at half the Amps they offer. Sad, but true.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 11:08, 02 July 21
Quote from: GUNHED on 10:56, 01 July 21
Get an Y cable, and measure what you really measure when everything is ON and running (Volts!).
Often they drop to 4,5 Volts of so, when being used even at half the Amps they offer. Sad, but true.

Exactly! Judging from my rather large experience with many different small 5v/12 psu's, in almost all cases, Amperage advertized, is the MAX, and not the RMS (=Sustained) Amperage!
This means that in practice, a psu rated @ 3Amps can only provide ~half of it (or even less...), and if load, needs to draw more than that, you will have a voltage drop => problems!  ;)
Now, i have measured the power consumption of an Amstrad CPC which is ~1000mA. USIfAC II board+usb host module can draw another ~100-200mA, and Esp Wifi module needs ~200mA sustained (but it can peak to 500mA in some cases, especially when it powers up). Finally, if you add the power needs of a typical USB flash drive (which is usually rated at few 100's mA when you access it), you can easily have a total draw of more than 1500mA. IMO, if you want to have all these together, you should get a psu with advertized current of 4A (or even 5A) . Also it's good to avoid cheap ones, their actual amperage might be even less than half! One good and cheap psu i have tested and worked ok is this:
https://www.ebay.ie/itm/324101244457?var=513150090529
The 5V/5A costs less than 7euros, and it can surely provide more than 2Amps without problems (i've test it with Amstrad+usifac+usb host module+ old 3.5" Pc Floppy drive which draws ~500mA and 1000mA@peak)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ajcasado on 11:29, 02 July 21
To get a stable 5V output in the whole 3A working range you can use a regulated buck chopper like https://www.ebay.com/itm/402847202305?hash=item5dcb907c01:g:gAsAAOSwkkxgn5pj (https://www.ebay.com/itm/402847202305?hash=item5dcb907c01:g:gAsAAOSwkkxgn5pj).
Feed it with a supply that can deliver 15W at 9V or 12V (maybe anything higher than 7.5V could do the job) and adjust the output to 5V with the potentiometer screw.
EDIT: It's wise to put a 3A FUSE in series with this kind of stuff.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 13:05, 02 July 21
Flashing firmware.... will a Pickit2 also work? Or does it need to be a Pickit3?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: DoctorCPC on 01:44, 03 July 21
Hi Dear Firends,
My usifacII came to me. I will start using on Amtrad CPC 464. I have got some questions about USIFACII. Do you have USIFACII 3d models? I want to use my USIFACII device in own case. Also, if we add a wifi card to the wifi section, can we use the internet features on symbos?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 10:42, 03 July 21
Quote from: DoctorCPC on 01:44, 03 July 21
Do you have USIFACII 3d models? I want to use my USIFACII device in own case.
I don't, but i think others have made 3d models for cases.

Quote from: DoctorCPC on 01:44, 03 July 21
Also, if we add a wifi card to the wifi section, can we use the internet features on symbos?
You should ask symbos creators for that  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 10:48, 03 July 21
MAJOR UPDATE:

- Add new RSX command: |DISK,name,(1). Creates a dsk image file from Floppy disk. Supports DATA/SYSTEM/IBM formats and up to 42 tracks. The optional 2nd argument '1', is for auto creating new image filenames, based on the name you give, by adding a letter at the begining of the name. For example,if you give name: "BACKUP.DSK" ,with the extra argument '1', program will  name  images: "ABACKUP.DSK", "BBACKUP.DSK","CBACKUP.DSK" etc. So you could take many backups in a row, by only changing disks and pressing a button.
- Add new RSX command: |MAN. This resembles |CAT, but instead of getting the list of files/subfolders of a usb device to screen,it outputs the list of files/subfolders into RAM, starting from &2b00 and using '1' as separator,'2' to mark end, e.g.: 1NAME1NAME1NAME...1NAME2
Function is used by filemanger utility, but it would also be useful for anyone want to develop it's own programs.
- Add new RSX command: |UCOPY,"name1","folder path",("name2").With this command you can copy a file into usb device, named "name1", from it's current position, into another folder. Optionally you can give "Name2" to copy file with a new name.For example,command: |UCOPY,"GAME.BAS","/DIR1/GAMES","GAME2.BAS" will copy GAME.BAS file to /DIR1/GAMES subfolder with name "GAME2.BAS". If you omit the last argument, then file will be copied with same name. Function can be used with any file, regardless the size. Actual copy speed is ~5-10kb/sec (depending on the speed of usb flash drive you are using),so large files like DSK images, will need some time to be copied.
- Better Respond & Error handling, to minimize crashes,hang-ups and erroneous messages. For example,until now, giving |CAT or |DEL without serial connection or usb device enabled, Amstrad hangs up and needed reset.Now, it will try to get respond for a couple of seconds,and then gives you an error message.Also, using |COPY or |DEL commands repeatedly, sometimes caused problems with |CAT,after.All these weird responds, should be now fixed.
- Bug Fix: Swapping dsk images didn't function in some stituations.
- Bug fix: Loading eeprom (|WROM) from usb device file,didn't work right.
- Overall optimization of Board's main ROM code.
- Update |HELP to include the new RSX commands.
- Update user's manual and "inner workings" folder too.

And this, most probable, would be the last firmware update (Rev 5).
Btw, soon,i will upload an |UCOPY version for older boards (like with disk2image and file manager)  :)

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 12:04, 03 July 21
will be those improvements/utilities as binary files?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 12:05, 03 July 21
Quote from: ikonsgr on 10:48, 03 July 21- Add new RSX command: |MAN. This resembles |CAT, but instead of getting the list of files/subfolders of a usb device to screen,it outputs the list of files/subfolders into RAM, starting from &2b00 and using '1' as separator,'2' to mark end, e.g.: 1NAME1NAME1NAME...1NAME2
Function is used by filemanger utility, but it would also be useful for anyone want to develop it's own programs.

What happens if there is a file called "mifile.tx2".  Does it mean the end of the list?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 14:41, 03 July 21
AWESOME update!

Quote from: ikonsgr on 10:48, 03 July 21Add new RSX command: |MAN. This resembles |CAT, but instead of getting the list of files/subfolders of a usb device to screen,it outputs the list of files/subfolders into RAM, starting from &2b00 and using '1' as separator,'2' to mark end, e.g.: 1NAME1NAME1NAME...1NAME2

What happens if the filename contains "1" or "2"? Like Who dares Wins II (wdw2).

btw: would it be possible to get long filenames too? It would be great if the filemanager could show long filenames (but of course then execute the short filenames).

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 21:04, 03 July 21
Quote from: eto on 14:41, 03 July 21
What happens if the filename contains "1" or "2"? Like Who dares Wins II (wdw2).
Quote from: Fran123 on 12:05, 03 July 21
What happens if there is a file called "mifile.tx2".  Does it mean the end of the list?

Well,i'm afraid you both forgot one thing: A file name is translated to the ASCII code for each character, so if you have '1' in the name, you will actually get a value of 49, or for '2' a value of 50  ;)
So, using values 1 and 2 for name separator and end marking, causes no conflict, whatever is the name!  ;D

Quote from: eto on 14:41, 03 July 21
btw: would it be possible to get long filenames too? It would be great if the filemanager could show long filenames (but of course then execute the short filenames).
I'm afraid it can't, as this is a restriction of the CH376 usb host module it doesn't support long filenames. Although the old 8.3 name type, is what Amstrad use either in  Basic or Amsdos, so using 8.3 names seems more compatible  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 21:15, 03 July 21
Quote from: Fran123 on 12:04, 03 July 21
will be those improvements/utilities as binary files?
File manager and disk2image are already available as binaries for use with older firmware boards. |UCOPY will be added soon too  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 12:07, 04 July 21
Have you thought about writing a program like wget, something like |wget,"<url>",["output_file"]  ??
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 12:28, 04 July 21
Quote from: Fran123 on 12:07, 04 July 21
Have you thought about writing a program like wget, something like |wget,"<url>",["output_file"]  ??
You mean download directly a file from an ftp/tcp/http server using esp 8266 wifi modules?
Well, first, it's impossible to add anything else anymore, there is literally no room left in Microcontroller's  program memory  ::) (btw, last |UCOPY command was really a tough one that needed quite room too:
ucopy:
;;     UCOPY,"name","dest directory",1 for delete source

ld e,a
xor a
ld b,100 ;reset all used variables
ld hl,source_path_buffer
init_values:
ld (hl),a
inc hl
djnz ,init_values

call check_usb_en
jp z,usb_dis_err
ld a,e
cp 1
jp z,error_4
cp 2
jr z,no_delete_file
cp 3
jp z,rename_file
jp error_4

no_delete_file:
ld h,(ix+1)
ld l,(ix+0)
ld (dest_path_addr),hl

ld h,(ix+3)
ld l,(ix+2)
ld (copy_file_addr),hl
ld (copy_new_file_addr),hl
jr cont_copy_file

rename_file:
ld h,(ix+1)
ld l,(ix+0)
ld (copy_new_file_addr),hl

ld h,(ix+3)
ld l,(ix+2)
ld (dest_path_addr),hl

ld h,(ix+5)
ld l,(ix+4)
ld (copy_file_addr),hl
jr cont_copy_file

cont_copy_file:

ld hl,(dest_path_addr)
call get_arg2 ;hl=dir path address; e=size
ld b,0
ld c,e
ld de,dest_path_buffer ;store destination path to buffer
ldir
inc de
xor a
ld (de),a

ld hl,(copy_file_addr)
call get_arg2
ld b,0
ld a,e
ld de,copy_file_name
ld (de),a
ld c,a
inc de
ldir

ld hl,(copy_new_file_addr)
call get_arg2
ld b,0
ld a,e
ld de,copy_new_name
ld (de),a
ld c,a
inc de
ldir

continue_copy:
ld bc,&fbd9 ;store source path to buffer
ld a,1
out (c),a
ld b,27
ld hl,source_path_buffer
store_path:
        ld a,&fb
        in a,(&d3) 
ld (hl),a
inc hl
djnz ,store_path

ld hl, ucopy_to_ram
ld de, &1e60
ld bc, 138
ldir
di
;--------------------------------------------------------------------------------------------------------
next_copy:
ld a,(file_state)
ld (file_state_temp),a
ld a,1
ld (file_state),a
ld hl,source_path_buffer
call place_directory
call set_directory
ld e,0
call set_filename
jp nz,error_ucd
ld hl,data
ld a,(file_state_temp)
ld (file_state),a
call copy_file_to_ram

ld (buffer_pos),hl
call close_files ;close source file
ld hl,dest_path_buffer
call place_directory
call set_directory
ld e,1
call set_filename
jp nz,error_ucd
cont_save_file:
ld hl,(buffer_pos)
ld a,h
sub &20
add a,a
ld h,a ;h has number of 128byte packets to send to save file
ld a,l
or h
jr z,end_saving2

ld a,l
or a
jr z,remove_chunk
sub 128
jp m,no_extra_chunk
jr z,no_extra_chunk
inc h
ld l,a
jr no_extra_chunk
remove_chunk:
dec h
ld l,128

no_extra_chunk:
ld d,h
ld e,l
ld hl,data
call write_bytes

ld a,1
ld (file_state),a
ld hl,(buffer_pos)
ld a,h
sub &20
ld h,a
call calculate_position ;add hl bytes to save file pointer
call end_saving
jp next_copy
;-------------------------------------------------------------------------------------
end_saving2:
ld hl,source_path_buffer
call place_directory
ei
end_saving:
ld bc,&fbd0
call usb_cmd
ld a,&36
out (c),a
ld a,1
out (c),a
jp check_responce2
;-----------------------------------------------------------------------------------------
set_filename:
ld bc,&fbd0
call usb_cmd
ld a,&2f
out (c),a
ld a,d
or a
jp z,continue_a
out (c),a ;put "/" in front of name
continue_a:
ld hl,copy_new_name
ld a,e
or a
jr nz,continue_b
ld hl,copy_file_name
continue_b:
; ld bc,&fbd0
ld e,(hl) ;size of name
inc hl
name_to_copy_loop:
call upper_case
out (c),a
inc hl
dec e
jr nz,name_to_copy_loop
xor a
out (c),a
call clear_buffer
call usb_cmd
ld a,(file_state)
or a
jr z,make_new_file
ld a,&32
jr cont_save_1
make_new_file:
ld a,&34
cont_save_1:
out (c),a
call check_responce2
in a,(c)
cp &14
jr z,seek2
jp error_4
;---------------------------------------------------------------------------------------
calculate_position: ;add hl to save file pointer
or a
ld a,(file_pos)
adc a,l
ld (file_pos),a
ld a,(file_pos+1)
adc a,h
ld (file_pos+1),a
ret nc
ld a,(file_pos+2)
inc a
ld (file_pos+2),a
ret
;---------------------------------------------------------------------------------------
seek2:
ld a,(file_pos)
ld l,a
ld a,(file_pos+1)
ld h,a
ld a,(file_pos+2)
ld e,a
ld d,0
seek:
call usb_cmd
ld a,&39
out (c),a
out (c),l
out (c),h
out (c),e
out (c),d
call check_responce2
in a,(c)
cp &14
ret
;---------------------------------------------------------------------------------------
place_directory:
ld bc,&fbd1
ld a,53
out (c),a ;clears path directory into PIC
ld c,&d6
place_dir_loop:
ld a,(hl)
or a
jr z,end_loop11
out (c),a
inc hl
jr place_dir_loop
end_loop11:
out (c),a
; call set_directory
; call set_filename
ret

;-----------------------------------------------------------------------------------------

ucopy_to_ram:

defb 30,128,205,175,30,123,183,32,1,201,205,226,30,237,162,4,29,32,247,205,211,30,62,59,237,121,205,226,30,124,254,158,200,24,221,30,128,1,208,251,205,211
defb 30,62,60,205,199,30,62,45,237,121,205,226,30,237,120,4,237,163,29,32,250,205,211,30,62,61,237,121,205,226,30,122,183,200,21,24,212,205,211,30,62
defb 58,205,199,30,62,39,237,121,205,226,30,237,120,95,183,200,205,226,30,201,237,121,237,89,175,237,121,205,226,30,237,120,12,62,1,237,121,13,62,87,237
defb 121,62,171,237,121,201,12,237,120,61,40,251,13,201

And keep in mind that inside the above code, they are not included ~half a dozen of other routines used (check "Usifac_ii_main_rom.asm" inside innerworkings folder, for more details)
Of cousre you can always develop anything you want as an independant binary/Basic file, like with disk2image and file manager utilities.
Now,in theory, if you first use |WIFI to establish a direct connection with a tcp server ( which is enabled when you run the PC windows utility) it would be rather easy to do such a thing, as you can use directly Amsdos routines to either load or save files from/to the tcp server. But, if you want to connect to an ftp server (or through http,udp etc) you will need a different firmware for esp8266 module that supports such protocols.
Maybe you are interested to develop such a function?  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 12:48, 04 July 21
Quote from: ikonsgr on 12:28, 04 July 21
You mean download directly a file from an ftp/tcp/http server using esp 8266 wifi modules?
Well, first, it's impossible to add anything else anymore, there is literally no room left in Microcontroller's  program memory


maybe you could remove the games
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: issalig on 17:29, 04 July 21
True, these games could be just in the USB together winth the utility programs (file managers, etc)  and the extra space will make USIFAC2 even more powerful.

Compression would be another solution but I do not think it's worth. Maybe it will be free 25% of game space and I do not know any fast compression routines for  Great Cow Basic. Surely @ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541) will now about what is available in GBC.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 22:55, 04 July 21
Quote from: Fran123 on 12:48, 04 July 21

maybe you could remove the games


Seconded. The games don't add anything being in ROM, and could be included in a "starter pack" for copying to usb to start off.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 07:09, 05 July 21
Well IMHO, games in rom does have a "quick start" value, because they give you the chance to load a few classic games immediately after you power on your Amstrad, without even needing to connect a usb flash drive! It's litterally a PLUG & PLAY feature!  :D
Besides, i don't think there is anything valuable left to add as RSX command, where any extra "special" requests, can be always made as binary files loaded from usb device like disk2image or filemanager.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 15:06, 05 July 21
Just out of curiosity... how much KB of ROM do the 'internal' games occupy in the chip?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 19:16, 05 July 21
It's ~42kb for all 3 games, ~1/3 of microcontroller's program memory (128kb).
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 16:59, 06 July 21
And here is a small teaser of the upcoming developments:

[attach=1,msg204521]

I wonder, what this might be... (and NO, it's not ONLY the obvious written on the side) :D
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Skunkfish on 17:17, 06 July 21
Interesting....

Based on your previous designs, I'm assuming that is space for a 28-pin PIC chip on the right-hand side for address decoding?

But what other magic it may be hiding is beyond me!
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: issalig on 23:09, 06 July 21
Maybe pic18f27q43?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Skunkfish on 10:26, 07 July 21
Is the connector at the rear (before the edge connector) somewhere to connect a USIfAC to?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 11:07, 07 July 21
Quote from: Skunkfish on 10:26, 07 July 21
Is the connector at the rear (before the edge connector) somewhere to connect a USIfAC to?


It would be a great idea, because you could use with Usifac2 and MX4
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Animalgril987 on 17:26, 07 July 21
I see that the connectors are J1, J4 and J5. What happened to J2 and J3?
Or is this what we have to guess?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 21:58, 07 July 21
 Ok, enough with the mystery...  :)
What i'm planning to do, is to create a "dual mode" board, that the 512k SRAM memory will function either as normal RAM expansion AND as ROM BOARD for 32X16kb roms!
My intention is to make a new utility for usifac ii, that will load the 512k of SRAM from a cpr rom cartdridge file (https://www.cpcwiki.eu/index.php/Format:CPR_CPC_Plus_cartridge_file_format), and then, by a simple press of a button, Amstrad will reset, and board will be transformed to a rom board! Pressing again the same button, will re-establish the normal ram expansion mode of operation! ;)
Apart from that, i implement an edge connector + extra idc pin connector (J4 connector), so you will be able to use directly a board with pin header (like USIfAC II) or/and an edge connector, without needing an mx4 or similar board for pluging multiple cards!  ;)

Quote from: issalig on 23:09, 06 July 21
Maybe pic18f27q43?
Actually it's PIC18F26Q10  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: issalig on 21:04, 08 July 21
Quote from: ikonsgr on 21:58, 07 July 21
Actually it's PIC18F26Q10  :)
Thus, the smaller brother of usifac2's brain.
Are you considering a betatester program? :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 21:10, 08 July 21
Quote from: issalig on 21:04, 08 July 21
Are you considering a betatester program? :)

Do you have something to propose for testing RAM expansion?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: SkulleateR on 21:26, 08 July 21
Quote from: ikonsgr on 21:10, 08 July 21
Do you have something to propose for testing RAM expansion?
Betatester ? Count me in  ;D
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: issalig on 22:11, 08 July 21
Quote from: ikonsgr on 21:10, 08 July 21
Do you have something to propose for testing RAM expansion?
To be true I never thought about extra memory for the CPC, but given that there will be an option, maybe it is time to check FutureOs, SymbOs, or just store a big sine/cosine lookup table :p
Which other use cases are you considering @ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541)?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 05:53, 09 July 21
I suppose a good overall test would be to load SYmbos/Future OS and see if extra ram is recognized correctly, but if i got problems, i might need some kind of ram tester to specify the bug and fix it.

p.s. i just found out that a good ram expansion test (https://www.cpcwiki.eu/forum/programming/memory-check/msg32977/#msg32977) already exists for quite some time!  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 08:55, 09 July 21
Hi John


Ram Tests :-


http://www.cpcwiki.eu/forum/amstrad-cpc-hardware/quick-and-dirty-ram-test-for-cpc


Ray
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 11:16, 09 July 21
I read on https://www.microchip.ua/wireless/esp01.pdf (https://www.microchip.ua/wireless/esp01.pdf) there are 36kb of memory, it would be great accesing there. Is it possible?


Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 19:36, 10 July 21
Quote from: Fran123 on 11:16, 09 July 21
I read on https://www.microchip.ua/wireless/esp01.pdf (https://www.microchip.ua/wireless/esp01.pdf) there are 36kb of memory, it would be great accesing there. Is it possible?

Well, if there are any AT commands that allows you to have access to this memory, then most probable you could use it, but as far as i know, no such commands exist, at least with the "official" ESP8266 instruction set.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: darkhalf on 04:36, 17 July 21
With the instructions (Rev3)

Talking of AT commands. Page 27 - Setting up bluetooth module, the AT commands are case sensitive! Maybe just a note here about uppercase on all AT commands? HC-05 module does not respond otherwise

Page 16 - Screenshot of the |TER program:

There are no 'Command codes' or <ENTER> for help notes. Is that screenshot out of date?
The version I have here only shows <ENTER>, <ESC> and <CLR>.
PIC firmware, |STAT shows Rev 5

I mentioned a few pages back about Multiface 2 save issues (freezes up) when saving Kane to DSK image. I was using a 256MB FAT32 formatted stick in this case. I will try a MF2 outside of the DSK image and see if that is any better

I think its a problem with the MF2 using the lower ROM. MF2 is only compatible with the standard ROM from what I've read. I've found it also having issues with Dukes M4 lower ROM replacement for the CPC6128.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: darkhalf on 05:43, 17 July 21
More tests with the Multiface, I've tried a 64MB FAT USB stick I had lying around from years ago with Flying Shark in its own folder. Game would start and run, but no luck with Multiface Save (freeze, no files saved). So its not a capacity issue, but probably some lower ROM problem

Also if I'm in the FSHARK folder, and attempt |CD,".." or |CD by itself, it will not move back a directory. |CDR will go to root directory. This is on USB stick

Update: Various RAM tests including DK'Tronics ones attached

Another edit:

QuoteTo get a stable 5V output in the whole 3A working range you can use a regulated buck chopper


I've found issues with having more than one device (Say Wifi + Bluetooth or Wifi + USB) most likely due to lack of power. Issues include Wifi not detected, or the USB module not detected


So I've split power separately to the CPC and the backplane running the USiFAC


When doing this with the CPC464, usually the 464 will get stuck before 'BASIC' prompt on reset (when pressing reset button on the USIfFAC). So you need to power off/on both power sources at the same time to boot properly. The main time this seems to happen is after issuing a |464 command. I've seen more issues like on my 464 than on the 6128


On a positive note, I got Gryzor 128K loaded on my CPC464 from USIfAC 2 + revaldinho 512KB RAM board + revaldinho 6 ROM board (6128 lower ROM + BASIC 1.1 to make RSX easier). YANCC works fine with this setup when loaded as a  ROM on the board
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 11:27, 19 July 21
Quote from: darkhalf on 04:36, 17 July 21
Talking of AT commands. Page 27 - Setting up bluetooth module, the AT commands are case sensitive! Maybe just a note here about uppercase on all AT commands? HC-05 module does not respond otherwise
Yes, upper case is mandatory for giving AT commands. I'll add a note for this

Quote from: darkhalf on 04:36, 17 July 21
Page 16 - Screenshot of the |TER program:
There are no 'Command codes' or <ENTER> for help notes. Is that screenshot out of date?
The version I have here only shows <ENTER>, <ESC> and <CLR>.

Indeed, photo is taken form an earlier version of terminal. In anycase, for communication with devices through AT commands (BT,Wifi modules) better use |COM.

Quote from: darkhalf on 05:43, 17 July 21
Also if I'm in the FSHARK folder, and attempt |CD,".." or |CD by itself, it will not move back a directory. |CDR will go to root directory. This is on USB stick
For going up, you use a plain |CD command, not an ".." argument :). Also, sometimes (depending on the usb flash drive you are using), you might get a "late responce" from it, e.g. you give a command and it needs a few seconds for actual execution.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Cunctator on 18:23, 20 July 21
Hello John,
Today I received my package with USIfAC2 for my AMSTRAD 6128 PLUS.

It doesn't load dsk image. I've tried to try four pendrives 256MB FAT but none works.
What is is happening?
Thanks.

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 06:33, 21 July 21
Hi John

I was wondering if there is any Space left ?
Could a "Type" RSX Command be added

Type,"Filename.doc(txt)"
So we can Look at text files.

Thanks
Keep Safe

Ray
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 11:23, 21 July 21
Quote from: Cunctator on 18:23, 20 July 21
Hello John,
Today I received my package with USIfAC2 for my AMSTRAD 6128 PLUS.
It doesn't load dsk image. I've tried to try four pendrives 256MB FAT but none works.
What is is happening?
Thanks.

After giving "Cat",to get contents of the image, you don't get any responce at all? That's really very strange...
Anyway, as i already noted a few times, i don't own an amstrad plus model, so personally, i couldn't test USIfAC board with it.
I remember though, that some others have test it and confirm that at least basic functionality (direct load and fdc emulation) works ok.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Cunctator on 14:35, 21 July 21
Quote from: ikonsgr on 11:23, 21 July 21
After giving "Cat",to get contents of the image, you don't get any responce at all? That's really very strange...
Anyway, as i already noted a few times, i don't own an amstrad plus model, so personally, i couldn't test USIfAC board with it.
I remember though, that some others have test it and confirm that at least basic functionality (direct load and fdc emulation) works ok.
Exactly when you do CAT the computer crashes.
I think it must be the disk controller or the last firmaware.
Any possible solution?
Thanks a lot.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 09:04, 23 July 21
Since everything works ok with a cpc 6128 and cpc464 i don't think it's firmware's fault.... ::)
Judging from my expereince, i would say that ,this odd behavior (direct load works ok, fdc emulation dont) looks more of incompatibility problem between usb host module and the flash drives you use.
One thing that might worth a try though, is an alternative method of flash drive format suggested by eto:
https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/usifac-iimake-your-pc-or-usb-stick-an-hdd-for-amstrad-access-dsk-and-many-more!/msg201702/#msg201702
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Cunctator on 08:42, 24 July 21
Quote from: ikonsgr on 09:04, 23 July 21
Since everything works ok with a cpc 6128 and cpc464 i don't think it's firmware's fault.... ::)
Judging from my expereince, i would say that ,this odd behavior (direct load works ok, fdc emulation dont) looks more of incompatibility problem between usb host module and the flash drives you use.
One thing that might worth a try though, is an alternative method of flash drive format suggested by eto:
https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/usifac-iimake-your-pc-or-usb-stick-an-hdd-for-amstrad-access-dsk-and-many-more!/msg201702/#msg201702 (https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/usifac-iimake-your-pc-or-usb-stick-an-hdd-for-amstrad-access-dsk-and-many-more!/msg201702/#msg201702)


I already tried it but it still doesn't work.
Someone with an Amstrad PLUS has gotten USIfAC2 to work?

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 19:14, 02 August 21
Quote from: Audronic on 06:33, 21 July 21
Hi John

I was wondering if there is any Space left ?
Could a "Type" RSX Command be added

Type,"Filename.doc(txt)"
So we can Look at text files.

Thanks
Keep Safe

Ray
I think this:  [attach=1,msg205471]
Is exactly what you need!  ;)
And maybe some time in the future,i might add it as an RSX command too.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 19:34, 02 August 21
Quote from: Audronic on 06:33, 21 July 21
Could a "Type" RSX Command be added
Type,"Filename.doc(txt)"
Actually X-DDOS has an RSX to be used as: !TYPE,"FILE". You need to check if X-DDOS works with USIfAC II thoug.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 00:15, 03 August 21
Quote from: ikonsgr on 19:14, 02 August 21
I think this:   
Is exactly what you need!  ;)
And maybe some time in the future,i might add it as an RSX command too.

Hi John

Phew thats Magic,
Thanks for doing that
An RSX would be preferable

Keep up the good work
Keep Safe


Ray
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 17:56, 09 August 21
I got my mitts on a pickit 3 and updated the firmware :)


i like.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 16:10, 04 September 21
[UPDATE]
Finally i receive the first pcbs, for the ram/rom board:

[attach=1,msg206701]

And after a bit of work, i think it works ok:

[attach=2,msg206701]
[attach=3,msg206701]

I suppose since SYMBOS recognizes correctly 576kb total ram, and ramtest passes all blocks without problem, it should be ok.
The only problem is that i made a layout mistake on the 50pin connector for the pin header, and i had to use the passthrough edge connector for the USIFAC II....  Well, that's what prototype boards are for  ::)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 17:29, 04 September 21
And here is the results using Amstrad Diagnostics 1.2:
[attach=1]

[attach=2]

I suppose this "C3 config:supported" is a good thing right?  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Mark_wllms on 09:48, 05 September 21
Is there any way to use the board as a second drive, e.g. boot CPM off a physical disc and then use the Dsk image as the B drive?
It would be great to write a driver for CPM to allow it to use the the USB as a second drive.
Actually, CPC CPM+ doesn't support drivers, so it would be necessary to patch the EMS file as described at https://www.seasip.info/Cpm/cpm3semi.html
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 10:59, 06 September 21
Further tests with my Schneider CPC464 revealed a rather strange behavior:
- Amstrad dignostics recognize and test 512k RAM correctly (576k in total) on CPC464, exactly like with CPC6128
- RAM expansion test from syx gives a rather strange result:
[attach=1,msg206745]
- No game seemed to recognize the expansion (but i manage to run gryzor -a 128k only game- by patching the basic loader program).
Also, i discover that, whenever i write a byte to extra RAM, same byte is written on the same address of the internal ram too!
All other operations (read/write to internal ram, read from external ram) seemed to work ok.
Does this behavior is "normal" for 464, or i might have a problem with expansion port signals of my cpc (like RAMDIS maybe...)?


Quote from: Mark_wllms on 09:48, 05 September 21
Is there any way to use the board as a second drive, e.g. boot CPM off a physical disc and then use the Dsk image as the B drive?
It would be great to write a driver for CPM to allow it to use the the USB as a second drive.
Actually, CPC CPM+ doesn't support drivers, so it would be necessary to patch the EMS file as described at https://www.seasip.info/Cpm/cpm3semi.html

I suppose you need to patch the cpm file access routines, exactly like i did for amsdos (CAS_IN_OPEN,CAS_OUT_DIRECT,CAS_IN_DIRECT etc). Unfortunately my knowledge of cpm is rather limited sο i'm afraid i couldn't undertake such a task... ::)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 18:51, 10 September 21
If you're making a RAM expansion now, does that mean that the usifac 2 is done and dusted, support-wise?


Also, if that is the case (and even if not) would you object to people modifying the firmware for potential "fan-supported" patches et al?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: SkulleateR on 19:07, 10 September 21
@ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541) 


Gryzor isn't 128k only, it just plays other/better music if 128kb is detected :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 10:22, 11 September 21
Quote from: Devlin on 18:51, 10 September 21
If you're making a RAM expansion now, does that mean that the usifac 2 is done and dusted, support-wise?
In terms of abilities and functionality, i don't think there is anything extra to add anymore,at least with the current design :)
Perhaps, some time in the future i will "merge" RAM expansion and USIfAC II in a single board, offering USIfAC II functionality+ RAM expansion+ ROM board emulation in a single board! ;)
Having 512K SRAM on board, gives a great potential for adding extra abilities. For example, using ROM board emulation, it would be possible to add AMSDOS ROM or change BASIC ROM on a CPC 464, or replace/add with any custom ROM,perhaps even firmware low rom too!
Finally, the 2nd PIC MCU will also enable adding of new RSX commands and/or extra ROMS embedded in Microcontroller's program memory too!

Quote from: Devlin on 18:51, 10 September 21
Also, if that is the case (and even if not) would you object to people modifying the firmware for potential "fan-supported" patches et al?
Here (https://www.dropbox.com/sh/ua4vgf6qjjmqlnq/AACT6kqTr-sst-iqDeBnE9gRa?dl=0) you can find all code used for USIfAC II development, including  main rom assembly code. So i think anyone is free to modify/patch the code for custom usage  ;)

Quote from: SkulleateR on 19:07, 10 September 21
@ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541) 
Gryzor isn't 128k only, it just plays other/better music if 128kb is detected :)
Well, the game version i'm using has a BASIC loader that does not allow to run the game unless it has exta RAM  ::)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 12:44, 11 September 21
Quote from: ikonsgr on 10:22, 11 September 21
In terms of abilities and functionality, i don't think there is anything extra to add anymore,at least with the current design :)
Perhaps, some time in the future i will "merge" RAM expansion and USIfAC II in a single board, offering USIfAC II functionality+ RAM expansion+ ROM board emulation in a single board! ;)
Having 512K SRAM on board, gives a great potential for adding extra abilities. For example, using ROM board emulation, it would be possible to add AMSDOS ROM or change BASIC ROM on a CPC 464, or replace/add with any custom ROM,perhaps even firmware low rom too!
Finally, the 2nd PIC MCU will also enable adding of new RSX commands and/or extra ROMS embedded in Microcontroller's program memory too!
Here (https://www.dropbox.com/sh/ua4vgf6qjjmqlnq/AACT6kqTr-sst-iqDeBnE9gRa?dl=0) you can find all code used for USIfAC II development, including  main rom assembly code. So i think anyone is free to modify/patch the code for custom usage  ;)
Well, the game version i'm using has a BASIC loader that does not allow to run the game unless it has exta RAM  ::)




From this thread: the version of Gryzor i'm using that works on a plain 464 with usifac2
https://www.cpcwiki.eu/forum/software-related/didnt-get-gryzor-to-run-with-m4board/msg205733/#msg205733
Quote from: XeNoMoRPH on 06:21, 10 August 21
try this : http://cngsoft.no-ip.org/gryzorex.zip
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 13:57, 13 September 21
Quote from: ikonsgr on 10:22, 11 September 21
Here (https://www.dropbox.com/sh/ua4vgf6qjjmqlnq/AACT6kqTr-sst-iqDeBnE9gRa?dl=0) you can find all code used for USIfAC II development...
Sadly the forum mixed up the link. Maybe you can provide it directly.  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: pelrun on 14:58, 13 September 21
https://www.dropbox.com/sh/ua4vgf6qjjmqlnq/AACT6kqTr-sst-iqDeBnE9gRa?dl=0
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: kolleykibber on 21:15, 18 September 21
A few pics of online adventures with a cpc464 and a USIFAC.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: SkulleateR on 22:01, 18 September 21
Nice @kolleykibber (https://www.cpcwiki.eu/forum/index.php?action=profile;u=4071)


Which Client are you using ?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: kolleykibber on 22:09, 18 September 21
Quote from: SkulleateR on 22:01, 18 September 21Nice @kolleykibber (https://www.cpcwiki.eu/forum/index.php?action=profile;u=4071) Which Client are you using ?



Hi @SkulleateR (https://www.cpcwiki.eu/forum/index.php?action=profile;u=3124) , This is using a modified version of Ewenterm and ESPlink mentioned back in May in this thread: https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/usifac-iimake-your-pc-or-usb-stick-an-hdd-for-amstrad-access-dsk-and-many-more!/msg202202/#msg202202.


If I get a chance I'll try and put a video together.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 08:05, 22 September 21
Quote from: SkulleateR on 22:01, 18 September 21
Nice @kolleykibber (https://www.cpcwiki.eu/forum/index.php?action=profile;u=4071)
Which Client are you using ?
I've already included it, in the sofware documentation for USIFAC II.
Check here: https://www.dropbox.com/s/owrt05zisa0fjca/connect_to_bbs.zip?dl=0
kolleykibber made a really nice work with required software and documenting the hole procedure for anyone to use it!  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Cwiiis on 21:12, 22 September 21
With how things are, it appears the M4 won't be available for quite a while - I was wondering how likely it'd be for SymbOS to get mass storage support via the usifac2? I can live without the other features, but that's a big thing I'd quite like...

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Vokgear on 11:32, 25 September 21
Hi there !

Thanks for all the work to this great device, I really like it!
There is a new case for 3D printing for it, you can download it on thingiverse: https://www.thingiverse.com/thing:4974135
(https://i.ibb.co/P9Br9hB/dav.jpg)
best regards
Vokgear
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 11:43, 25 September 21
@Vokgear (https://www.cpcwiki.eu/forum/index.php?action=profile;u=4384), thank you very much for your time and effort to make the case!
Btw, i've updated 1st post of the thread,so anyone interested can easily find the details for it!  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: thomas on 13:51, 25 September 21
Vokgear, this is great, thank you! However, the file is not downloadable at the moment (... 404 error on thingy ...). Can you post the zip here?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Vokgear on 14:05, 25 September 21
It always takes some time til all the files are downloadable at thingiverse, but of course here is the zip-file of the case (see attachment)  :D
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: thomas on 16:14, 25 September 21
Thank you @Vokgear (https://www.cpcwiki.eu/forum/index.php?action=profile;u=4384) ! :-) Looks well made. What tool(s) are you using for designing cases?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Vokgear on 19:49, 25 September 21
Thank you  :) I use Autodesk Inventor.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: thomas on 09:21, 28 September 21
Thank you.

Seems that lots of people use Autodesk Fusion for designing cases. I'm trying to stick to open source (FreeCad, OpenSCAD)....

Printed your case, it fits nicely! :-) The decals/embossings are not that good in my print, but maybe the bed temperature is just too high .... (65° C).
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 16:53, 28 September 21
Quote from: thomas on 09:21, 28 September 21
Thank you.

Seems that lots of people use Autodesk Fusion for designing cases. I'm trying to stick to open source (FreeCad, OpenSCAD)....

Printed your case, it fits nicely! :-) The decals/embossings are not that good in my print, but maybe the bed temperature is just too high .... (65° C).


I've found someone willing to print one for me. Will post pics in a couple weeks when it arrives.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 16:58, 28 September 21
And a small addition for all lazy people out there :) :
Extract this file  (https://www.dropbox.com/s/f3nelh4gbiulzd4/games_pack.zip?dl=0)directly to your usb stick. Power on Amstrad, give:|USB and then: RUN"FM, and you will be able to directly select & load one of ~250 BAS files for games of the CLASSIC & WORTH TO PLAY (https://www.cpcwiki.eu/forum/games/how-about-making-a-'worth-to-play'-collection-of-amstrad-games/) list!  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 17:20, 29 September 21
Quote from: Vokgear on 11:32, 25 September 21
Hi there !

Thanks for all the work to this great device, I really like it!
There is a new case for 3D printing for it, you can download it on thingiverse: https://www.thingiverse.com/thing:4974135 (https://www.thingiverse.com/thing:4974135)
*pic snip*
best regards
Vokgear


What type of screw does this use to hold it together?

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Mark_wllms on 17:45, 02 October 21
Quote from: Mark_wllms on 09:48, 05 September 21

Is there any way to use the board as a second drive, e.g. boot CPM off a physical disc and then use the Dsk image as the B drive?

I've noticed that the interface reports an A and B drive, but uses the same disk image or directory for both. It would be great if it could switch disk images for A and B. Then we could load a large format disc as B and use Parados ROM.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: wolfgang on 00:17, 10 October 21
Hi Everybody,
I just took my CPC 464 out of its box after 32 years and it still works perfectly, but as I don't have any peripherals its quite annoying to work with the cassette unit only.Therefore I would like a USIfAC II for it, is it still possible to get one?

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Mark_wllms on 09:48, 10 October 21
I would email John directly. His address is in the first post of this thread. I ordered one in may and it arrived in the UK the next week!
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: reidrac on 11:17, 10 October 21
The USIfAC II is a great project, I've been recommending it for a while as an available alternative to M4.

The enclosure looks great. Does anybody know how I can get one printed without owning a 3D printer?

If I can get the enclosure, I may order one USIfAC II so I don't rely on my M4 only for testing my new games.

EDIT: yep, found a couple of places. Not too bad, £21 from the UK (cheaper from France, but I rather don't risk extra costs because Brexit). I may have found myself a Christmas present!
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: entelle42 on 10:50, 11 October 21
Hi @reidrac (https://www.cpcwiki.eu/forum/index.php?action=profile;u=1504) , can you share your 3D printing place(s) or PM them me? Tx
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: reidrac on 13:19, 11 October 21
Quote from: entelle42 on 10:50, 11 October 21
Hi @reidrac (https://www.cpcwiki.eu/forum/index.php?action=profile;u=1504) , can you share your 3D printing place(s) or PM them me? Tx

Is not an endorsement or anything like that, I don't know if they are any good, but I was looking at We Do 3D Printing (from Sheffield, UK). Search for it.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Mark_wllms on 13:59, 11 October 21
My local library does 3D printing. I've emailed them to ask what the cost would be.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: reidrac on 15:59, 11 October 21
Actually, there are places in France that are cheaper but is not convenient for me to order from out of the UK :(
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 22:06, 12 October 21
Wow,i see the discussion about USIfAC case took over the board itself!  :)
We are close to ~150 boards sent to the world so far, and work on next project of RAM EXPANSION/ROM BOARD is on progress too.
I've already manage to load PARADOS ROM in 512K SRAM and use it on a CPC 464 as a real ROM, to access large 800kb images, using |FDC (instead of |464) command e.g. a lot faster!
I've also tried a couple of small games in rom that worked too. The switch between RAM and ROM board mode is done by pressing a small button on board.
The features i'm planning to develop are:

- 3 modes of operation, the default 512K RAM expansion mode, a ROM board mode and a special ROM mode for use with CPR files.
- Load any ROM in 0-31 slots from files on usb device, and select to enable/disable any of the roms.
- Load .CPR files by using a custom ROM board mode ,which enables all available ROMS, and offers maximum ROM selection speed.
- Ease of use, through a simple OUT &EF00,x  command (yes,i'm using the printer port for that  ;D ) to:
     Enable/disable each of the 32 ROM slots,
     Choose upper/lower operation for ROM 0 (e.g. replace the firmware),
     Choose default ROM mode (ROM BOARD or CPR file mode)
     Enable/disable 512K RAM expansion

I believe that the first fully working prototype will be ready soon, maybe in a few weeks time!  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Gryzor on 09:36, 13 October 21
150 eh? wow. Not a small feat :)

If you feel like promoting it a bit more, feel free to use the wiki's first page!
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Vokgear on 09:48, 13 October 21
Quote from: Devlin on 17:20, 29 September 21
What type of screw does this use to hold it together?

Unfortunatelly I don´t know the exact name for the screw, the one I used is for wood or similar and was just flying around on my desk.
I guess bigger screws should also work.

(https://bilderupload.org/image/thumbnail/resized-8d4214366-img-20211012-194846.jpg)

(https://bilderupload.org/bild/8d4214366-img-20211012-194846)(https://bilderupload.org/image/thumbnail/resized-088714794-img-20211012-194917.jpg) (https://bilderupload.org/bild/8d4214366-img-20211012-194846)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: wolfgang on 12:14, 16 October 21
Quote from: Mark_wllms on 09:48, 10 October 21
I would email John directly. His address is in the first post of this thread. I ordered one in may and it arrived in the UK the next week!
Hi,
I did already on Monday and it arrived yesterday, I already tried and it is definitely the perfect solution to revive the CPC464. Now I will try to find a good way to get a good Monitor as well, the GT64 (still working fine after 36 years) is too big and the imaghe to small, but I have already something in mind.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Gryzor on 15:09, 16 October 21
Well the 1084 with the green screen button produces a very nice effect😊
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Mark_wllms on 19:57, 19 October 21
Quote from: Mark_wllms on 13:59, 11 October 21
My local library does 3D printing. I've emailed them to ask what the cost would be.
Free, apparently.  ;D I'm having mine in green, with red, white and black buttons.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: wolfgang on 14:57, 24 October 21
Quote from: Gryzor on 15:09, 16 October 21
Well the 1084 with the green screen button produces a very nice effect😊
As my Desk is full of Monitors (2 with 27 inch, one 14 inch) I have to use one of the existing. One of the big is actually a TV, so I will use it with a SCART cable. To use the small one (which has a standard Cinch FBAS Viedo input aside of VGA and HDMI) I installed an OpenVideoModulator inside the CPC 464, works also, although picture quality is limited, but sufficient for games.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 18:12, 26 October 21
Quote from: Mark_wllms on 19:57, 19 October 21
Free, apparently.  ;D I'm having mine in green, with red, white and black buttons.

Well, your case seems so nice that i've decided to use it as an "example case" on the presentation of the USIfAC II on the 1st page!  :D

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 18:37, 26 October 21
A small update:

- New firmware realease 5a: A few minor bug fixes, and future support for the 512k RAM/ROM board expansion card, giving different boot messages:
   "USIfAC II Enhanced + 512K RAM", for expansion card in RAM mode
   "USIfAC II Enhanced + Rom Board" for expansion card in ROM mode,
   "USIfAC II Enhanced" if you don't have extra card.

Add a small utility to type ASCII/txt files on screen (type.zip). Run "TYPE.BAS", and just give the file name. Use any key to pause text, press again to unpause.

Btw, regarding the new ram/rom board, after i encounter some speed/compatibility issues (https://www.cpcwiki.eu/forum/programming/how-to-transfer-roms-to-rom-board-from-cpr-file-for-alcon-future-os-spacem-etc/) with the more "advance" upper & lower rom emulation at the same time, i've decided to redesign the circuit, using a larger 40pin PIC microcontroller 18F46Q10 (as the smaller 28pin 18F26Q10 lacks of the required extra pins to accomodate all signals needed), in order to implement a way of "on the fly" /zero delay switching between upper/lower roms (when both roms are enabled).
  The speed issues occurs only when you enable emultation for both lower+upper roms (although Amstrad still seemed to work fine), and although this "advance" upper/lower Rom emulation was not initially in my plans, because i had also problems loading correctly cpr cartridge files (most notably, alcon2020), i've decided to try to resolve the issues.
So, for now i'm waiting for the new prototype boards for testing and if everything goes all right, the first few boards will be available before the end of year.  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 23:05, 26 October 21
@ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541)


Thanks for the update.
Could you add " type.bas "  file to the First message please as I cannot find it


Thanks


Keep Safe


Ray
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 23:09, 26 October 21
Quote from: Audronic on 23:05, 26 October 21
@ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541)


Thanks for the update.
Could you add " type.bas "  file to the First message please as I cannot find it


Thanks


Keep Safe


Ray
https://www.dropbox.com/s/kcyfef1x3kiwzxb/type.zip?dl=0
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 23:19, 26 October 21
@ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541)


Thanks


Keep Safe
Ray
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 03:50, 27 October 21
@ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541)


Hi John
There is a small concern with 5A
I have sent you an Email with details
Keep Safe
Ray

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: MrLurch on 05:42, 31 October 21
Afternoon all.
Received my device from John last week. Its mostly working well.
I made some tweaks to the case design *purely* for my own preferences.
https://www.thingiverse.com/thing:5068032 (https://www.thingiverse.com/thing:5068032)


Thanks Vokgear for the original design
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: issalig on 11:09, 01 November 21
I have been thinking if USIFAC could autoboot when pressing swap button at startup and automatically load a game/program similarly to Dandanator.
Any hints?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: llopis on 13:19, 01 November 21
I'm finally around to trying out the USIfAC II and the first thing I wanted to do was flash the new firmware. I was surprised to see that I need a custom programmer for what looks like a normal serial communication, and even more surprised that the programmer is more expensive than the USIfAC itself :-(


If there an alternate way to flash it with an Arduino or with a normal USB-to-serial adapter, or does it have to be that exact programmer?


Also pretty bummed to see that it's pretty Windows dependent the whole process (at least as described in the flashing guide).
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Cwiiis on 13:30, 01 November 21
Quote from: llopis on 13:19, 01 November 21
I'm finally around to trying out the USIfAC II and the first thing I wanted to do was flash the new firmware. I was surprised to see that I need a custom programmer for what looks like a normal serial communication, and even more surprised that the programmer is more expensive than the USIfAC itself :-(


If there an alternate way to flash it with an Arduino or with a normal USB-to-serial adapter, or does it have to be that exact programmer?


Also pretty bummed to see that it's pretty Windows dependent the whole process (at least as described in the flashing guide).
You can flash it with a PicKit (2, 3 or one of the clone 3.5s, which is what I used) on Linux fine with MPLAB IPE. I got the PicKit clone for about a fiver on eBay.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: llopis on 14:09, 01 November 21
Quote from: Cwiiis on 13:30, 01 November 21
You can flash it with a PicKit (2, 3 or one of the clone 3.5s, which is what I used) on Linux fine with MPLAB IPE. I got the PicKit clone for about a fiver on eBay.
Good to know. Unfortunately my first search for the PicKit came up around 20€-30€! Must be the chip shortage. Bummer!
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: issalig on 16:15, 01 November 21
I got it from here https://aliexpress.com/item/4001283162804.html  and it's true, price increased 50% from March
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: llopis on 18:25, 01 November 21
Yeah, I sucked it up and ordered it from Amazon for €16, which at least includes delivery and arrives in two days. Annoying chip shortage!
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: llopis on 19:45, 01 November 21
Quote from: Cunctator on 18:23, 20 July 21
Hello John,
Today I received my package with USIfAC2 for my AMSTRAD 6128 PLUS.

It doesn't load dsk image. I've tried to try four pendrives 256MB FAT but none works.
What is is happening?
Thanks.
I have that exact same problem. Was there a solution for that?

I'm waiting on the programmer to update the firmware, so my firmware is probably 6 months out of date.


Edit: I'm using a CPC 6128, not a plus.


Second question: Most of my DSK files have filenames over 8.3 characters so they get truncated to XXXXXX~1.DSK. How the heck do you type ~ with a CPC keyboard? I don't see it anywhere! Am I missing something?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 20:12, 01 November 21
Quote from: issalig on 11:09, 01 November 21
I have been thinking if USIFAC could autoboot when pressing swap button at startup and automatically load a game/program similarly to Dandanator.
Any hints?
What you describe can only be done when you boot using Rom. Dsk images act like real floppy disks, usually containing files. One of these files is the loader of game which you need to run, in order to execute game. Unfortunately each game uses a different name to load, so it's not possible to make a "generic" autoboot process for dsk images.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 20:16, 01 November 21
Quote from: llopis on 19:45, 01 November 21
I have that exact same problem. Was there a solution for that?I'm waiting on the programmer to update the firmware, so my firmware is probably 6 months out of date.
Edit: I'm using a CPC 6128, not a plus.
Second question: Most of my DSK files have filenames over 8.3 characters so they get truncated to XXXXXX~1.DSK. How the heck do you type ~ with a CPC keyboard? I don't see it anywhere! Am I missing something?

For '~' press control+2  ,instead of ' " ' it will give you '~' ;)
Now about your problem, do you get the "USIfAC II Enhanced" message on boot screen? Other functions work ok (like direct file loading, |FORMAT, |STAT, |TER etc)?
Also, when you give |USB, do you get a red led on usb host module?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: llopis on 20:39, 01 November 21
Quote from: ikonsgr on 20:16, 01 November 21
Now about your problem, do you get the "USIfAC II Enhanced" message on boot screen? Other functions work ok (like direct file loading, |FORMAT, |STAT, |TER etc)?
Also, when you give |USB, do you get a red led on usb host module?
Excellent tip on the ~. Thanks!


Yes to all of the above: Message at startup, messages in response to most commands (|CAT, |FDC, etc).


Oh! I just figured it out: if I type the name incorrectly in |MG,"name.dsk", it quietly fails and then |FDC and CAT hangs. In my case I was leaving out the .dsk part I think. It seems to be working now.


Does newer hardware complain if you pass an incorrect name to |MG?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 20:54, 01 November 21
Quote from: llopis on 20:39, 01 November 21
Oh! I just figured it out: if I type the name incorrectly in |MG,"name.dsk", it quietly fails and then |FDC and CAT hangs. In my case I was leaving out the .dsk part I think. It seems to be working now.
Does newer hardware complain if you pass an incorrect name to |MG?
Hmmm,no,i'm afraid |MG command is rather "passive",it only issues the name of image. So if you give a wrong image name and then try to access it by giving |FDC and then "CAT" amstrad will hang indefinetly. A good practice to avoid this, is to use |SMG command, just to ensure that image name issued correctly. Or, you can use filemanager and never bother about giving wrong image names at all!  ;)
Anyway, maybe i could add a small check for name validity in the future, perhaps on giving "|FDC" command...  ::)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Mark_wllms on 00:00, 02 November 21
You also get the same problem if you set a disk image with |MG, then change to a different directory with |CD, so the error message would have to check all the disks when the |FDC was issued.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: XeNoMoRPH on 08:31, 02 November 21
Just out of curiosity, has someone managed to get it to work on a CPC 6128 plus ?, I tried but it was impossible.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Cwiiis on 09:37, 02 November 21
Quote from: XeNoMoRPH on 08:31, 02 November 21
Just out of curiosity, has someone managed to get it to work on a CPC 6128 plus ?, I tried but it was impossible.


It works for me on a 6128 Plus, but it's *very* fussy - it seems the power on a Plus is a lot more marginal (I've cleaned everything power-related and tried several different supplies)... I can get it to work, but only on its own - if I put it in an MX4, it can sometimes work on its own but more often than not causes weird random behaviour and hangs, regardless of internal or external power on the MX4. Also, |fdc doesn't work on the Plus for disk emulation, only |464. If anyone gets it to work on a Plus machine with other boards also connected, I'd be very interested in their setup...
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: llopis on 10:53, 02 November 21
Some people had reported problems running the Amstrad Diagnostics program (https://github.com/llopis/amstrad-diagnostics) from USIfAC II, so I looked into it a bit this morning. Apparently when you run it, you get the lower RAM test, then the two beeps indicating it passes, and then it locks up.


The main problem I found is that the lockup happens while the diagnostics program is trying to detect all available RAM. Specifically, I'm iterating over all the banks and all the blocks within the banks:
https://github.com/llopis/amstrad-diagnostics/blob/main/src/CheckUpperRAM.asm
;; Port sequence for full 4MB:
;; 7F 7E 7D 7C 7B 7A 70 78


;; Bank block table
;; C4 C5 C6 C7
;; CC CD CE CF
;; D4 D5 D6 D7
;; DC DD DE DF
;; E4 E5 E6 E7
;; EC ED EE EF
;; F4 F5 F6 F7
;; FC FD FE FF



Any idea why turning on those memory configurations could cause the device to lock up? It's not doing partial address decoding, right?


The other minor thing I found is that when I do an upper ROM check, the ROM in slot 5 doesn't seem to have a proper string for its name, and it's just a bunch of garbage characters. I don't think that's breaking anything, but I thought it was a bit weird. Any reason for that? I thought it was standard for all ROMs to have a string ID in the header.

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: llopis on 17:24, 02 November 21
Quote from: XeNoMoRPH on 08:31, 02 November 21
Just out of curiosity, has someone managed to get it to work on a CPC 6128 plus ?, I tried but it was impossible.
I can also confirm I didn't get it to work on a 6128 Plus just with the defaults.
It would only boot up correctly about 50% of the time, and when it did, it would lock up after doing |FDC and trying to do CAT.
When running the file manager, it would say "File Already Open" after pressing Y (for old board).
This is the exact same device and USB file that worked on a CPC 6128.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 20:56, 02 November 21
Quote from: llopis on 10:53, 02 November 21
Any idea why turning on those memory configurations could cause the device to lock up? It's not doing partial address decoding, right?
Actually it does!  :) Board is activated when A10=0 and A5=0  (expansion peripheral for serial port according to this: http://cpctech.cpc-live.com/docs/iopord.html ), so if you use port &7B00 it will definetely activate USIfAC II serial port!

Quote from: llopis on 10:53, 02 November 21
I thought it was standard for all ROMs to have a string ID in the header.
The header for Usifac II rom is this:
ORG #C000 ;Start of ROM
DEFB 1 ;Background ROM
DEFB 0 ;Mark 0
DEFB 5 ;Version 5
DEFB 0 ;Modification 0
DEFW NAME_TABLE ;Address of name table

And of course this is not my doing, it's how the official manual dictates about rom structure:
http://cpctech.cpc-live.com/docs/manual/s158se09.pdf

No need for any id header is required, and same goes for all official roms like Amsdos, Basic, OS firmware.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 21:00, 02 November 21
Quote from: llopis on 17:24, 02 November 21
I can also confirm I didn't get it to work on a 6128 Plus just with the defaults.
It would only boot up correctly about 50% of the time, and when it did, it would lock up after doing |FDC and trying to do CAT.
When running the file manager, it would say "File Already Open" after pressing Y (for old board).
This is the exact same device and USB file that worked on a CPC 6128.
As i noted a few times in the past, i don't own an Amstrad  plus, and none of my friends/collectors i know have one too, so it was impossible for me to test USIFAC II with plus machines. But some say hat dsk image emulation works using |464 command, so it might work faster (as i verified it with a CPC 464) ,using a real CPC 6128 AMSDOS/PARADOS rom with the upcoming 512k RAM/ROM board card   :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 11:06, 03 November 21
Quote from: llopis on 17:24, 02 November 21
I can also confirm I didn't get it to work on a 6128 Plus just with the defaults.
It would only boot up correctly about 50% of the time, and when it did, it would lock up after doing |FDC and trying to do CAT.
When running the file manager, it would say "File Already Open" after pressing Y (for old board).
This is the exact same device and USB file that worked on a CPC 6128.


I get that "File already open [in 1]" when try use the file manager to load certain files without an extension. I kinda just chalked it up to being a quirk of the 464 though and it not really having a native disk system rom to fall on.


I've noticed that the CPC also defaults to tape mode on my 464 when loading certain games - like I hear the tape motor starting when a game tries to load sometimes, this has wildly varying results, from "halting" the system to having no discernible effect and it just loading as if nothing happened
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: MrLurch on 22:53, 03 November 21
I'm still having grief with mine, trying to isolate where the problem is on my 464.
The main issue I'm trying to get past at the moment is a weird double-boot.
Basically. Cold boot, boots to the ready prompt (with the usifac enhanced msg) then instantly reboots, getting hung at the copyright message.


I've tested it on a mates 6128 and it works fine.
Its not the edge connector, I've cleaned that to within an inch of its life. You can nearly see yourself in them.
It's not Power as I've removed the load from the cassette and run the thing from a proper bench PSU.
(incidentally.... when in normal use, the CPC draws about 860ma. When the machine it's hung on the second boot, it draws over 1A...?)


Noel sent me a beta of his diag and it all checks out fine.


My 464 is bone stock and it uses a 40007 ULA.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: issalig on 12:23, 04 November 21
Quote from: ikonsgr on 20:12, 01 November 21
  What you describe can only be done when you boot using Rom. Dsk images act like real floppy disks, usually containing files. One of these files is the loader of game which you need to run, in order to execute game. Unfortunately each game uses a different name to load, so it's not possible to make a "generic" autoboot process for dsk images.
I was thinking more about behaving as ROM 0 and take control without BASIC or Firmware and load a SNA.
Not sure if it will possible at all with USIFAC but in the meanwhile I am in the process of learning about ROM expansions and found this useful doc https://bmpc.github.io/2021/04/15/bulding-an-amstrad-cpc-expansion-rom.html

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 14:19, 04 November 21
Quote from: MrLurch on 22:53, 03 November 21
I'm still having grief with mine, trying to isolate where the problem is on my 464.
The main issue I'm trying to get past at the moment is a weird double-boot.
Basically. Cold boot, boots to the ready prompt (with the usifac enhanced msg) then instantly reboots, getting hung at the copyright message.


I've tested it on a mates 6128 and it works fine.
Its not the edge connector, I've cleaned that to within an inch of its life. You can nearly see yourself in them.
It's not Power as I've removed the load from the cassette and run the thing from a proper bench PSU.
(incidentally.... when in normal use, the CPC draws about 860ma. When the machine it's hung on the second boot, it draws over 1A...?)


Noel sent me a beta of his diag and it all checks out fine.


My 464 is bone stock and it uses a 40007 ULA.

The "double boot" as far as I can tell is normal - it initalises the usifac2, then resets.
My 464 does it too.
What version of the firmware is on it? Does it show  (Rev.5) on your friend's 6128 when giving the |STAT command?
^that's the latest to my knowledge, I don't know if there's a separate version command
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 15:22, 04 November 21
Got my usifac2 (first version, vokgear's) case last night, a few cheap rubber feet later and it's perfect for use
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: MrLurch on 00:59, 05 November 21
Quote from: Devlin on 14:19, 04 November 21
The "double boot" as far as I can tell is normal - it initalises the usifac2, then resets.
My 464 does it too.
What version of the firmware is on it? Does it show  (Rev.5) on your friend's 6128 when giving the |STAT command?
^that's the latest to my knowledge, I don't know if there's a separate version command
The lastest FW that John sent me Rev5a
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 09:26, 05 November 21
Quote from: MrLurch on 00:59, 05 November 21
The lastest FW that John sent me Rev5a
Try to reload latest firmware (5a) again. For a couple of days, the hex file was wrong (i accidentally used a previous version of source code for creating hex file  ;D)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: m_dr_m on 16:15, 07 November 21
Thanks again @ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541) for this cheap yet great interface!

I am wondering: is it supported by any (D)OS? 
* Unidos @OffseT (https://www.cpcwiki.eu/forum/index.php?action=profile;u=1826) ?
* Symbos @Prodatron (https://www.cpcwiki.eu/forum/index.php?action=profile;u=13) ?
* FutureOs @GUNHED (https://www.cpcwiki.eu/forum/index.php?action=profile;u=2029) ?
* Impdos @Ast (https://www.cpcwiki.eu/forum/index.php?action=profile;u=573) ?
* Other ?


If we could bulk-copy from/to X-Mass, that would be already very handy.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 20:24, 07 November 21
Quote from: m_dr_m on 16:15, 07 November 21
Thanks again @ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541) for this cheap yet great interface!
Yes, this is an awesome piece of hardware!


Quote from: m_dr_m on 16:15, 07 November 21
I am wondering: is it supported by any OS? 
* FutureOs @GUNHED (https://www.cpcwiki.eu/forum/index.php?action=profile;u=2029) ?
Well, I do plan support for it. However I will wait a little bit until the firmware is getting close to final stage and then buy the interface (better 2 of them). I don't have a programmer for its chip here - therefore the waiting time.
Also my time is limited in general (36 hours per day // nine days per week only). After finishing up my Multitasker I have to keep up with a promise and do a MIDI tracker for the CPC. But I'm confident it can be done in 2021. So 2022 will be my year of the USIfAC II.  :) :) :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: OffseT on 10:45, 08 November 21
Quote from: m_dr_m on 16:15, 07 November 21
I am wondering: is it supported by any (D)OS? 
* Unidos @OffseT (https://www.cpcwiki.eu/forum/index.php?action=profile;u=1826) ?
Chany already asked me about such a support months ago, but according to the USIfAC documentation it didn't seem to be possible.
Anyway, both UniDOS nodes and USIfAC documentations are available, so feel free!
(and BTW, I cannot develop DOS node for all existing weird hardwares I do not even own)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: m_dr_m on 20:03, 08 November 21
Quote from: OffseT on 10:45, 08 November 21according to the USIfAC documentation it didn't seem to be possible.
What is blocking?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 20:51, 08 November 21
Quote from: OffseT on 10:45, 08 November 21
(and BTW, I cannot develop DOS node for all existing weird hardwares I do not even own)
If you guys have differences - fine! But please don't take it out at somebody else's projects.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: OffseT on 23:40, 08 November 21
Quote from: m_dr_m on 20:03, 08 November 21
What is blocking?
I don't remeber. :P
I just recall the statement: "not possible at the moment, let's check again later with newer firmwares."
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 16:46, 19 November 21
Is there a rev6 firmware coming out, and if yes, when?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 12:48, 24 November 21
MAJOR FIRMWARE UPDATE (rev. 6)

- GREAT direct  file loading speed increase of ~+25% now reaching up to ~30kb/sec! Affects direct file and snapshot loading speeds (and partly |UCOPY too). I've made a fundamental change on loading code, by  moving the input buffer checking (wait if inp(&fbd1)=1 e.g. if buffer is empty) from Amstrad assembly code, inside PIC microcontroller's code. Each input buffer check required 5-6us when executed from Z80 assembly, but only ~1us when executed from PIC MCU code (e.g 5-6 times faster code execution!)! This had major affect in actual loading speed as this code executed for every loading byte! For example, a 128kb snapshot is now loading in ~4.5seconds, more than 1second less than previously needed!

- |UCOPY: Bug fixes and much better error handling.

- |DISK: Bug fixed: image files created didn't work with emulators.

As always you can find a direct link for the new firmware at 1st post of this thread.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: m_dr_m on 12:57, 24 November 21
Great news! Does it solve the "not possible at the moment, let's check again later with newer firmwares."?


I guess it was about being able to program the ch376.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 13:00, 24 November 21
Quote from: m_dr_m on 12:57, 24 November 21
Great news! Does it solve the "not possible at the moment, let's check again later with newer firmwares."?


I guess it was about being able to program the ch376.


Well,if you could be a bit more specific about the exact nature of the problem,i might be able to help with that request  ::)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 09:04, 25 November 21
Quote from: ikonsgr on 12:48, 24 November 21
MAJOR FIRMWARE UPDATE (rev. 6)

- GREAT direct  file loading speed increase of ~+25% now reaching up to ~30kb/sec! Affects direct file and snapshot loading speeds (and partly |UCOPY too). I've made a fundamental change on loading code, by  moving the input buffer checking (wait if inp(&fbd1)=1 e.g. if buffer is empty) from Amstrad assembly code, inside PIC microcontroller's code. Each input buffer check required 5-6us when executed from Z80 assembly, but only ~1us when executed from PIC MCU code (e.g 5-6 times faster code execution!)! This had major affect in actual loading speed as this code executed for every loading byte! For example, a 128kb snapshot is now loading in ~4.5seconds, more than 1second less than previously needed!

- |UCOPY: Bug fixes and much better error handling.

- |DISK: Bug fixed: image files created didn't work with emulators.

As always you can find a direct link for the new firmware at 1st post of this thread.


Updated. Feels more snappy loading games direct file-wise, though most games loaded so quick anyway it's barely noticeable unless paying very close attention :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 11:41, 25 November 21
Quote from: Devlin on 09:04, 25 November 21
Updated. Feels more snappy loading games direct file-wise, though most games loaded so quick anyway it's barely noticeable unless paying very close attention :)
Indeed, loading speed was already rather quick, so practically you will notice difference when more than 50-60kb is loaded at once. This is not the case with most direct load games, only some large 128k games load at once so much data, try for example Star sabre  (load ~115kb at once) and you will see a noticable difference.
Also difference is noticable with snapshot file loading too.

Finally, with future RAM/ROM board, it will help load quite faster roms and cpr files, especially large 512kb ones, like alcon, will load from ~19-20seconds to ~15seconds  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Mark_wllms on 12:26, 02 December 21
I've been trying to use my USIFAC II with a Multiface II to save memory state (on a CPC6128).

It works fine writing to a disc image loaded with ¦FDC. I get 5-9 binary files (depending on whether I clear the second memory bank), which can be loaded back into memory. This is using the Amstrad's own AMSDOS ROM, the USIFAC is only emulating the FDC.

When I try with the USB mode (FDC emulation disabled, the USIFAC is emulating / patching the AMSDOS routines) it saves the binary files to the USB, but  loading them back causes the screen to go haywire - it looks like the CRTC is non being programmed, but for all I know it might be loading garbage.

I read at https://www.grimware.org/doku.php/documentations/expansions/mf2/startdo=export_xhtml that
QuoteTo perform it's disc operations, the MF2 Firmware jumps directly into the DOS ROM (Upper ROM 7). This, usually, is considered bad programming practice because of possible compatibility problems.
Could this cause an error?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 18:00, 03 December 21
Yes.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 18:21, 03 December 21
Quote from: Mark_wllms on 12:26, 02 December 21
I've been trying to use my USIFAC II with a Multiface II to save memory state (on a CPC6128).

It works fine writing to a disc image loaded with ¦FDC. I get 5-9 binary files (depending on whether I clear the second memory bank), which can be loaded back into memory. This is using the Amstrad's own AMSDOS ROM, the USIFAC is only emulating the FDC.

When I try with the USB mode (FDC emulation disabled, the USIFAC is emulating / patching the AMSDOS routines) it saves the binary files to the USB, but  loading them back causes the screen to go haywire - it looks like the CRTC is non being programmed, but for all I know it might be loading garbage.

I read at https://www.grimware.org/doku.php/documentations/expansions/mf2/startdo=export_xhtml that  Could this cause an error?

Indeed, FDC emulation works "low level", it doesn't affect any Amsdos routines either Interferes on DOS ROM 7. But when you enable "direct mode" to access directly files on usb device, this modifies various Amsdos routines AND takes control of DOS rom 7 too. So, if MF2 performs direct jumps to ROM7 obviously it will not work.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Mark_wllms on 20:16, 04 December 21
That completely makes sense.  :(
I will just have to write a new Mf2 software that writes to sna via USIFAC II!
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: shacpc on 22:57, 11 December 21

have sent you a PM to buy a device.

Quote from: ikonsgr on 18:21, 03 December 21
Indeed, FDC emulation works "low level", it doesn't affect any Amsdos routines either Interferes on DOS ROM 7. But when you enable "direct mode" to access directly files on usb device, this modifies various Amsdos routines AND takes control of DOS rom 7 too. So, if MF2 performs direct jumps to ROM7 obviously it will not work.



Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: shacpc on 00:14, 14 December 21
The Pic KIT3.5 version can be used as Pic KIT3 for USIfAC II firmware updates?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 12:24, 14 December 21
Quote from: shacpc on 00:14, 14 December 21
The Pic KIT3.5 version can be used as Pic KIT3 for USIfAC II firmware updates?
Most probable yes. I've tried updates using PICKIT3 and PICKIT4 programmers, both work ok, only with PICKIT4 it's done much faster (~12seconds using PICKIT4 instead of 40seconds using PICKIT3)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Cwiiis on 21:36, 14 December 21
Quote from: shacpc on 00:14, 14 December 21
The Pic KIT3.5 version can be used as Pic KIT3 for USIfAC II firmware updates?

Can confirm 3.5 (which I think is a knock-off, there's no official PicKit 3.5) works fine.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: shacpc on 21:17, 16 December 21

thanks to all!

Quote from: Cwiiis on 21:36, 14 December 21
Can confirm 3.5 (which I think is a knock-off, there's no official PicKit 3.5) works fine.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Velociraptor on 23:44, 17 December 21
Sorry if this is covered already, but I'm trying to work out if it's possible to copy files from a DSK image on the USB to a physical disc in the CPC's drive.


Using the |COPY command just crashes things. I'm looking to copy all of the files from a DSK to the physical disc in the CPC.

Am I doing it wrong? Connecting up the USB, typing |USB and then |MG,"whatever.DSK" and then |FDC and then the |COPY command.

I have also updated to the lastest "6" firmware and tried on both a 664 and a 6128. The difference is now I get an error message, file not found.

I suspect I'm not following the correct route to do this. I also don't know what |COPY command I would issue to just copy everything on the loaded USB disc to the physical disc in the drive

Could you perhaps give me an example of all the commands I would type from powering on the CPC to the point at which the files are copied to the CPC from inside a DSK image stored on a USB drive on the device? I would expect they would start with |USB
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 18:26, 18 December 21
Quote from: Velociraptor on 23:44, 17 December 21
Sorry if this is covered already, but I'm trying to work out if it's possible to copy files from a DSK image on the USB to a physical disc in the CPC's drive.
Using the |COPY command just crashes things. I'm looking to copy all of the files from a DSK to the physical disc in the CPC.Am I doing it wrong? Connecting up the USB, typing |USB and then |MG,"whatever.DSK" and then |FDC and then the |COPY command.
I have also updated to the lastest "6" firmware and tried on both a 664 and a 6128. The difference is now I get an error message, file not found.
I suspect I'm not following the correct route to do this. I also don't know what |COPY command I would issue to just copy everything on the loaded USB disc to the physical disc in the drive
Could you perhaps give me an example of all the commands I would type from powering on the CPC to the point at which the files are copied to the CPC from inside a DSK image stored on a USB drive on the device? I would expect they would start with |USB
You can't directly copy files from inside dsk image to a usb flash drive. But you can do it using a floppy disk. First you copy image to floppy disk using |DSK,"image name" command, and then you can use |2PC in order to select and copy individual files from floppy disk to the usb drive.
For further details check user's guide: https://www.dropbox.com/s/8h047mdwhnsx9ek/Amstrad%20CPC%20Serial%20Interface%20II%20User%20Guide_v3.pdf?dl=0
In "File copy from cpc function" you can see all the details about the |2PC function.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Velociraptor on 18:37, 18 December 21
I'm not trying to copy to USB.


Quote I'm trying to work out if it's possible to copy files from a DSK image on the USB to a physical disc in the CPC's drive.



The files are on a .DSK image which is on a USB flash drive in the USIFAC2.


I want to copy the files onto a disc which is in the disc drive of the 6128.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 19:21, 18 December 21
Ok, but why don't you just copy the entire dsk image to a disk directly, and you want to copy files?
In any case, if you copy dsk image to floppy disk you can easily copy back any files you want from floppy disk to the usb drive (using |2PC command), and then, you can also copy back these files from usb drive to the specific floppy disk you want (using |COPY command)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Velociraptor on 19:29, 18 December 21
CF2 mass disc testing results (cpcwiki.eu) (https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/cf2-mass-disc-testing-results/)


I have a number of discs with partial damage, the damage has been assigned to a file on the discs so that the rest of the disc capacity can be used.


Typically it's less than 5kb for each disc side so ideally I want to copy files to these discs that do not need the full capacity.


>[size=0px]you can also copy back these files from usb drive to the specific floppy disk you want (using |COPY command)[/size]
[/size]
Yes that's what I want to do. I want to copy files to a floppy disc.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 19:38, 18 December 21
Ok, so you already have files on floppy disks and not dsk images right? In that case, you can just use |2PC and copy any files from floppy disks to usb drive!  ;)

Btw, well done for your patience to test 100's of CF2 disks!  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Velociraptor on 19:47, 18 December 21
No....  ;D


Exactly the opposite!


I have the files in DSK images downloaded from cpc-power. Example attached.


I want to copy the files from this disc image to a floppy disc in the drive of the CPC, and I have been trying to use the |COPY command to do it.


I have flashed to the latest firmware and I have read the manual. I cannot get it to work at all but my suspicion is that I am doing it the wrong way.

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 20:02, 18 December 21
You don't need to use |COPY (this is ONLY for copying files from floppy disks to usb drive, not from dsk images to floppy disks).
You can just copy the dsk image directly to a floppy disk using a simple: |DSK,"Silico~1.dsk"

I just try to copy the silicon image to a disk. It works ok, but track numbers in image's disk header, is wrongly declared to 42 instead of the real 40 tracks, so function seems to pause in the end (but disk is written ok). I've corrected the track number declaration, so now it works without stoping in the end:
[attach=1,msg210248]
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Velociraptor on 20:34, 18 December 21
Ah. That won't work for me.


I have a number of discs with marked bad blocks - see attachment.


I can copy files to them without losing the bad block assignment, but copying an image won't do that.



Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 20:37, 18 December 21
Well, i suppose you have to use a good disk without bad sectors.
[attach=1,msg210250]
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Velociraptor on 20:44, 18 December 21
Yes it works great for that. But when I read the manual I thought that the |COPY would do the job.


An alternative would be to mount the virtual DSK image as a drive and then use a CPC utility to copy between the two. Failing that I would copy the image to a disc and then remove the USIFAC2 and just use normal CPC utilities.

Edit : The manual does need to be changed.

"- |COPY,'xxx': Copies from USB Device to a Floppy disk,all files starting from 'xxx'. You can also use an exact file name as argument, to copy a single file only."

I've had lots of problems with disc images this evening too, I'll make a separate post to try to keep things as clear as possible.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Velociraptor on 02:01, 19 December 21
I am having problem with images. [size=78%]I have tried various USB drives.[/size]


2 fail to be recognised entirely, even with 16MB partitions.


1 works but fails during the copy.


5 others all produce the same result - on any image file other than a very short one they get seemingly quite far but do not complete and just hang.


I have tried this on both my 664 and 6128, both with no other expansions connected and I get the same result.


You can see the process I follow on screen - I enable USB with |USB, I list the disc images with |CAT and then I copy the disc image to disc using the |DSK,"FILENAME.DSK"


Am I perhaps following an incorrect process?

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Velociraptor on 05:17, 19 December 21
Turns out I couldn't sleep so I thought I'd give it another try. This time through wifi.

For some reason port 1000 would not work, but when I changed to 1111 it connected with no difficulty.


I had an error using the disc image that I'd been using. And I thought "But I'm certain John got it to work for him. Are you imagining things?" and it's only then that I noticed the part in your edit about the dodgy tracks!


The disc writes that I had done had resulted in something that looked correct but wouldn't function. When I used your corrected image through WiFi it worked and the game runs!


So that's a bit of a relief. I do have more questions.


First of all once it had completed the disc imaging it repeated on the CPC screen to insert a disc. Does this mean I should simply reset the CPC with the button on the USIFAC2 when done? Does this also mean that I could go back to the PC and change the image file if I wanted to write a series of discs and I could just change the disc on the CPC and press space after I had set the next one up?


Secondly how did you fix that disc image because it looks like I'm going to have to fix some myself!



Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 10:49, 19 December 21
Ok, judging from the screen shots, i would say that the 1st image is not written correctly on usb drive (that's what the "error accesing image file" message  indicates)  but also the floppy disk you used, couldn't written either (that's what "error writing to disk" suggests).
On all other cases,i suppose it's a matter of wrong track number declaration in image's Disk header, that's why disk writing seem to stop in the end (maybe i could modify the code to avoid this...  ::) ), although disks should be written ok (i've tried it with your silicon image and floppy disk worked fine, despite the write hanging in the end)

Quote from: Velociraptor on 05:17, 19 December 21
Does this mean I should simply reset the CPC with the button on the USIFAC2 when done? Does this also mean that I could go back to the PC and change the image file if I wanted to write a series of discs and I could just change the disc on the CPC and press space after I had set the next one up?
Exaclty!

Quote from: Velociraptor on 05:17, 19 December 21
Secondly how did you fix that disc image because it looks like I'm going to have to fix some myself!
It's quite easy, you need to open the dsk image using a hex editor (i'm using this free one: https://mh-nexus.de/en/ ) and change the byte at &30 position (it's the first from left at 4th row) to the correct track number. Mind that numbers are in hex format, so if you see a value of &2A means 42 tracks in decimal, and you should probably change it to &28 (=40 tracks). Then you just save back the image file and you are done!  ;)
Btw, how do you create these images? I'm curious about this wrong declaration of tracks, as i never faced such problem in the past... ::)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: pelrun on 13:31, 19 December 21
Quote from: Velociraptor on 05:17, 19 December 21For some reason port 1000 would not work, but when I changed to 1111 it connected with no difficulty.

That one is simple - ports below 1024 are considered privileged and require administrator/superuser to access on all major OS's.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Velociraptor on 16:35, 19 December 21
I don't know how the images were created, they're like that on cpc-power. Is it perhaps a copy protection thing?


SectorView v1.20 (cpc-power.com) (https://www.cpc-power.com/SectorView.php?fiche=611&slot=10&rang=1)


SectorView v1.20 (cpc-power.com) (https://www.cpc-power.com/SectorView.php?fiche=3993&slot=11&rang=0)


Or is it perhaps just something that guy is doing when he makes images? I'm not sure and as long as they work by just manually editing the file then it will do for me.


I don't like using flash storage, and I like using real discs so for me USIFAC2 and the big pile of discs I have been testing are so that I can have a library of the games I want to have on disc.


Sadly my issues are not over though. I'm now trying to send files to the CPC from the windows program.

This is the order I've done things -
|WIFI (it seemed to remember the SSID and password) on CPC
|2CPC on CPC
On PC I select File copy to CPC and then I selected a single file
The PC side looks as if it's starting but the CPC side doesn't change and is still sitting at the "Waiting for file..... " prompt


Disc image transfers do work though, I've just transferred "The Pawn" after editing the tracks in the .dsk to 40. I actually had that hex editor installed already.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 20:50, 20 December 21
Indeed,it seems that there is a problem when using the file functions with WiFi module (Dsk image transfer and direct load/save should work ok though).
I'll see to it, but for now, you can use a bluetooth module or direct serial cable, as file functions work ok with these.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Velociraptor on 21:01, 20 December 21
Quote from: ikonsgr on 20:50, 20 December 21
Indeed,it seems that there is a problem when using the file functions with WiFi module (Dsk image transfer and direct load/save should work ok though).
I'll see to it, but for now, you can use a bluetooth module or direct serial cable, as file functions work ok with all functions.


That's fantastic news!

There's no rush at the moment so I'll just wait. I was really surprised that wifi worked at all because I always prefer wired but since it is working I'll just wait until files work. I had been worried I was doing something wrong.


I wrote 10 disc images last night and all 10 worked!
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 15:17, 21 December 21
Ok,i think now all functions work ok with WiFi module too.  :)
I've updated the windows utility program, you can downalod it from here:
https://www.dropbox.com/sh/gg2faiikx4pit37/AADRvM_QsTzI1mGOsFx5Vugra?dl=0
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 17:35, 10 January 22
So ... again my Usifac isn't recognized any longer.

I started a game from USB, did a RESET - and then just the normal 464 screen appeared. No longer any Usifac message.
I also tried to set the rom number again, but no luck. Also the check
out &fbd1,30: if inp(&fbd0)=83 then print "ok"
doesn't get me an OK.
Can I revive it somehow?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 20:07, 10 January 22
If you have a PIC programmer, try to reflash firmware.  Otherwise, i can send you a programmed PIC mcu.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 20:33, 10 January 22
Quote from: ikonsgr on 20:07, 10 January 22If you have a PIC programmer, try to reflash firmware.

I just ordered one... will give it a try tomorrow
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 20:42, 10 January 22
A couple of other things that I recognized today with the 464 (I have another Usifac which still works):


The filemanager has some issues with programs that have no extension and stops with an error in line 1. If not I often get a Syntax error or "File already open". A simple patch which creates a valid BASIC line will change that. Just add an ending ", a 0-byte and make sure the length of the line in &170  is set correctly.

Even with this patch, the "File already open" error can still happen. E.g. Who dares wins fails after it loads another Basic file. Can this somehow be fixed?

Would it be possible that the file manager continues to use the MODE that has been selected in the Basic part? The reason for this is, that on the original colour monitor (and even worse on the MP1/2 modulator) Mode 2 text is hard to read - and since it only uses 11 characters anyway, MODE1 or even 0 would not have any disadvantage and everybody could change the BASIC file based on individual preferences.

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 22:51, 11 January 22
Quote from: ikonsgr on 20:07, 10 January 22
If you have a PIC programmer, try to reflash firmware.  Otherwise, i can send you a programmed PIC mcu.
Reflashing did the trick, it works again.
One thing I thought would be fixed by the new firmware is, that the boot sequence regularly hangs:

First time I power up the 464, it hangs after the copyright message (see image below). I click the reset button and then it fully boots. I can then click reset and every time it boots perfectly UNTIL I enter |USB. Once I do that and a reset will always fail. It always hangs after the copyright message like after the first boot. I have to turn off the computer and then start again.

Is this a known behaviour? Can I do anything about it?

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: shacpc on 23:03, 11 January 22
Hi to all, I received the USIfAC II a week ago. I have tried it to load DSK from USB and it has worked great for me.

It's a shame that you have to assign $ variables to each folder or DSK that you intend to open and there is no more agile method, but I am very happy with how it works.


I don't think I will mess with it much for other possibilities and even scare me to update its firmware in the future ... but to run DSK on my CPC464 it has been a real joy and at a very good price. Many thanks to the developerr ikonsgr
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 23:08, 11 January 22
Quote from: shacpc on 23:03, 11 January 22It's a shame that you have to assign $ variables to each folder or DSK that you intend to open and there is no more agile method, but I am very happy with how it works.

that's a stupid problem of Basic 1.0. But you can copy the filemanager to the root of the USB stick (see first post of this thread) and navigate the USB stick more easily and execute files or mount disk images.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Mark_wllms on 10:06, 12 January 22
Quote from: eto on 20:42, 10 January 22The filemanager has some issues with programs that have no extension and stops with an error in line 1. If not I often get a Syntax error or "File already open". A simple patch which creates a valid BASIC line will change that. Just add an ending ", a 0-byte and make sure the length of the line in &170  is set correctly.

Even with this patch, the "File already open" error can still happen. E.g. Who dares wins fails after it loads another Basic file. Can this somehow be fixed?

I notice that the USIFAC needs a file extension to load a basic file, whereas unpatched AMSDOS will assume .BAS if not specified. For example if I have a file called "DISC.BAS", AMSDOS will normally accept RUN"DISC" whereas USIFAC will require RUN"DISC.BAS" to load it.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: shacpc on 20:16, 12 January 22
Quote from: eto on 23:08, 11 January 22
that's a stupid problem of Basic 1.0. But you can copy the filemanager to the root of the USB stick (see first post of this thread) and navigate the USB stick more easily and execute files or mount disk images.


thank you! . It is very intuitive and easy. I hope that the future continues to evolve and also allows the application to open the .DSK and select the .BAS or .BIN file inside with the cursors. My thanks again to all the participants in this project.

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: shacpc on 23:59, 12 January 22
Can someone add the FM file from the file manager without the initial question from the old device and directly start the file listing for a current one? thanks
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 12:07, 13 January 22
Quote from: ikonsgr on 20:07, 10 January 22
If you have a PIC programmer, try to reflash firmware. 

Hi @ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541) - so reflashing worked, but the 464 often hangs on boot and can sometimes not even be reset. I have to turn it off to make it work again. Any ideas if this can be resolved?

Quote from: eto on 22:51, 11 January 22First time I power up the 464, it hangs after the copyright message (see image below). I click the reset button and then it fully boots. I can then click reset and every time it boots perfectly UNTIL I enter |USB. Once I do that and a reset will always fail. It always hangs after the copyright message like after the first boot. I have to turn off the computer and then start again.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 18:57, 13 January 22
Quote from: Mark_wllms on 10:06, 12 January 22
I notice that the USIFAC needs a file extension to load a basic file, whereas unpatched AMSDOS will assume .BAS if not specified. For example if I have a file called "DISC.BAS", AMSDOS will normally accept RUN"DISC" whereas USIFAC will require RUN"DISC.BAS" to load it.
Well, that's because the code emulation i develop, when you request to load/run a file without extension, it first tries to load the file as it is, if it's not found, then assumes it has a BIN extnesion and tries again with it  :)  So, for files with BIN extension you DONT need to add it on LOAD" or RUN" commands. But for files with BAS extension (usually basic files) you have to add it. I also mention this in the last "HINTS and TIPS"  section of user's guide  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 19:01, 13 January 22
Quote from: shacpc on 23:59, 12 January 22
Can someone add the FM file from the file manager without the initial question from the old device and directly start the file listing for a current one? thanks
Downalod filemanger again from here: https://www.dropbox.com/s/aaeqqvvuuln3pcc/File%20manager.zip?dl=0
I've added a second basic program named "FM2" which doesn't include the question and directly loads file manager! ;)
Of course if you have older board (i think rev3 or older) you should use "FM" as before.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 19:09, 13 January 22
Quote from: eto on 12:07, 13 January 22
Hi @ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541) - so reflashing worked, but the 464 often hangs on boot and can sometimes not even be reset. I have to turn it off to make it work again. Any ideas if this can be resolved?
One thing you can check is the psu you are using. Many times a power cable splitter or small psu can cause under voltage problems. Also, a bad edge connector contact can cause erratic behavior too.
Anyway, with my CPC 464 everything works ok with rev6 firmware,never had such boot problems, so i suppose the problem doesn't have to do with firmware bug.
Btw, i've upload again the last rev6 just to be sure it's the right one  :) . Also, did you try  to flash older firmware revisions to see if you get the same problem?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 19:30, 13 January 22
Quote from: eto on 20:42, 10 January 22
A couple of other things that I recognized today with the 464 (I have another Usifac which still works):
The filemanager has some issues with programs that have no extension and stops with an error in line 1. If not I often get a Syntax error or "File already open". A simple patch which creates a valid BASIC line will change that. Just add an ending ", a 0-byte and make sure the length of the line in &170  is set correctly.
Even with this patch, the "File already open" error can still happen. E.g. Who dares wins fails after it loads another Basic file. Can this somehow be fixed?
Would it be possible that the file manager continues to use the MODE that has been selected in the Basic part? The reason for this is, that on the original colour monitor (and even worse on the MP1/2 modulator) Mode 2 text is hard to read - and since it only uses 11 characters anyway, MODE1 or even 0 would not have any disadvantage and everybody could change the BASIC file based on individual preferences.
I've checked WHO DARES WINS II, indeed the basic loader program has a: run"loader command, when the real file is "loader.bas". As i explained, with BAS files, you have to mention the extension in order to load it. So you can simply add .bas extension on the last command of basic listing, and then save the file, from now on it should work ok :)
And here is some explanation of why i select to automatically check for .BIN extensions instead of .BAS: During testing i've encountered quite a few muti file games with basic loaders, where the .BIN extension of binary files requested in basic program. For example there was a line: LOAD"FILE",&8000 but the actual file was named "FILE.BIN". That's why i add a second attempt for loading files, if initial load fails, try again using "BIN" extension. This works for most games, but in some rare cases,(like WDW II, and i suppose this should happens mainly with "early days" games) , a basic loader listing has basic line to run another basic program! In this case, if the  basic program name has "bas" extension, but this is omitted in the basic command, loading will fail. But fortunately as i already wrote, it's rather easy to correct this problem!  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 19:39, 13 January 22
Quote from: ikonsgr on 19:09, 13 January 22One thing you can check is the psu you are using. Many times a power cable splitter or small psu can cause under voltage problems. Also, a bad edge connector contact can cause erratic behavior too.
Anyway, with my CPC 464 everything works ok with rev6 firmware,never had such boot problems, so i suppose the problem doesn't have to do with firmware bug.
Btw, i've upload again the last rev6 just to be sure it's the right one   . Also, did you try  to flash older firmware revisions to see if you get the same problem?

I tried it with several PSUs and there is no change. It happened wit the very old firmware (v2 or so) and the current one. As it's 100% reliable and repeatable I doubt that it's the edge connector, but I will clean it just to be sure.

I can also try with a different firmware if that makes sense.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 19:41, 13 January 22
Quote from: eto on 19:39, 13 January 22I've checked WHO DARES WINS II, indeed the basic loader program has a run"loader command when the real file is "loader.bas". As i explained, with BAS files you have to mentions the extension in order to load it, so you can simply add .bas extension on the last command of basic listing, and then save the file, from now on it should work ok

Ah - nice!
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: KaosOverride on 10:53, 24 January 22
If I recall ok, the extension check order is first blank, then .BAS and then .BIN.


That should make all work fine.

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: crizle on 00:35, 25 January 22
Link to original post(with photos): https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/usifac-ii-adding-wifi-esp8266mod/msg211467/#msg211467 (https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/usifac-ii-adding-wifi-esp8266mod/msg211467/#msg211467)
I may have posted in the wrong place but here are a few queries if possible I can get assistance on please?
Hi there all,

I know there is a separate topic for the USIfAC II, but I am just rediscovering (well the past year and a bit) my passion for electronics but still rusty.

I am after advice on how to connect an ESP8266MOD to the USIfAC II. I know it should be easy but I don't want to damage anything! What is stopping me is the fact it has a mini USB UART to program the ESP8266MOD via Arduino etc.. all works fine.

EDIT: Mon 24th Jan 2022I have looked through files available and found a ESP8266 flash folder. After using Arduino IDE to upload a serial console sketch(i think) I was able to use AT commands etc and update the flash so now it is actually set as an access point connected to my home network. But I haven't connected to the USIfAC II. I just need advice on which pins to connect from the ESP8266MOD to the USIfAC II - I don't know the standard ways. Obviously I will look into powering a better way once connected. If anyone needs a better picture of pinouts I can provide.. thanks.

I am maybe thinking too much into it, but will I need to bypass the USB UART of the ESP8266MOD to connect to the USIfAC? If so, has anyone any pointers/advice on what I should or not be doing.

One last question: I have a XGecu TL866 II programmer, and was hoping to flash the USIfAC to the latest firmware but not sure if it is working as it has all chips listed for PIC programming and the only one that is not listed is the PIC18F47Q10. I tried one that was the closest but say's out of range for programming. I have an STM32, Bus-Pirate and the XGecu device, is it possible to program the chip with any of these as I do not have the programmer mentioned in the docs.Any help/thoughts etc.. much appreciated.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 18:43, 25 January 22
If Vin pin on the esp board is for 5v input (which most probable is) then is suppose this is how you need to connect it to USIfAC II:
[attach=1]
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 11:39, 26 January 22
Hello


I did a launcher for UsifacII.


You can test the project in  https://github.com/gallegux/menusi (https://github.com/gallegux/menusi)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 08:33, 28 January 22
Hello


How can I do |cdr with ASM code?


Thanks
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 10:46, 29 January 22
This is the code for |CDR:

rootdir:
call check_usb_en
ret z
ld bc,&fbd0
call usb_cmd3
ld a,&2f
out (c),a
ld a,"/"
out (c),a

call usb_cmd2
ld a,&32
call usb_cmd4
cp &41
jp nz,error_ucd

inc c
ld a,53 ;set pic's  path buffer to 0
out (c),a
ret


You can see the code for all subroutines used, at the end of the USIfAC II Rom code:
https://www.dropbox.com/s/43dkg5ibcbhn0zu/18f47q10_6_code.asm?dl=0
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: issalig on 00:21, 30 January 22
Great. I see there are some binaries. Are you considering to distribute asm and java source code? Opening code will allow other people to collaborate, learn, and improve the project.

Quote from: Fran123 on 11:39, 26 January 22Hello


I did a launcher for UsifacII.


You can test the project in  https://github.com/gallegux/menusi (https://github.com/gallegux/menusi)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 22:25, 01 February 22
A minor update (6a)

- Minor overall code optimization (it should offer ~0.5%-1% speed... ::) )
- Changed file loading code in order to follow Amstrad's file name search order: first tries name as it is, then tries with .BAS extension, final with .BIN extension (previous version tried only with .BIN extension)
So now you can load any bas file without needing to add '.bas' extension. Also some of the loading problems with some games discussed earlier, should be now fixed, without needing to "patch" bas loader programs anymore  ;)

@issalig (https://www.cpcwiki.eu/forum/index.php?action=profile;u=4140), all code is available at the "inner workings" folder here: https://www.dropbox.com/sh/ua4vgf6qjjmqlnq/AACT6kqTr-sst-iqDeBnE9gRa?dl=0

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: issalig on 23:01, 01 February 22
@ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541), thanks a lot for sharing your knowledge and let others learn from you,
I will check the new version asap. I think USIFAC2 has almost everything I need in a CPC (maybe more memory, but afaik work is/was in progress, isn't it?).
Anyway, this is my wish list for the usifac (which I consider to implement in the near future but I never find the time to do it)
- boot a rom/sna when pressing a button, for example boot the one in the usb unit called autoboot.rom (maybe it could be used swap button or other free pin)
- add a rotary enconder and a screen like in a gotek (not so urgent and not sure about if enough free pins for screen and encoder)
- tutorial about usifac architecture and building instructions (I started a document but it is not still finished)

However, my last post asking for sources was addressed to @Fran123 (https://www.cpcwiki.eu/forum/index.php?action=profile;u=4174)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 09:46, 02 February 22

Hello,

The code will be open when I consider that the project is finished, for now I would like to add a few things.

On the other hand, I think that the code must be of quality to be published, I would not like you to laugh at what I write.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 12:46, 02 February 22
Quote from: issalig on 23:01, 01 February 22
- boot a rom/sna when pressing a button, for example boot the one in the usb unit called autoboot.rom (maybe it could be used swap button or other free pin)
This will hopefully done with the 512k RAM/ROM board  i'm developing  (http://www.cpcwiki.eu/forum/games/usifac-ii-direct-load-games/msg211851/#msg211851).You will be able to load a boot low rom and maybe cpr files too.
Quote from: issalig on 23:01, 01 February 22
- add a rotary enconder and a screen like in a gotek (not so urgent and not sure about if enough free pins for screen and encoder)
I don't find a reason for doing that. Gotek drive needs a screen,rotary encoder etc, because there is no way to control it through amstrad directly! With boards like USIfAC II or M4 ,you have dozens of rsx Basic commands to do whatever you want and get the results directly on Amstrad's screen!  ;)
Quote from: issalig on 23:01, 01 February 22
- tutorial about usifac architecture and building instructions (I started a document but it is not still finished)
Inside "inner workings" folder there is also a schematic of the USIfAC II board. Circuit is rather plain and "straight forward" i would say, apart from a few buttons/switches there is only connections between PIC microcontroller and Amstrad's expansion port.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: issalig on 20:48, 02 February 22
Ok, nice, no need to hurry up.But do not be ashamed of showing your code, we all code dirty and we like it.  :)

Quote from: Fran123 on 09:46, 02 February 22
Hello,

The code will be open when I consider that the project is finished, for now I would like to add a few things.

On the other hand, I think that the code must be of quality to be published, I would not like you to laugh at what I write.

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 21:27, 03 February 22
Hello


I have a problem with my UsifacII. I disconnected it from cpc to plug it on other cpc, and now, none shows the Usifac II Enganged message at boot up, however, pause and reset buttons work.


What is happening?


Thank you.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 22:43, 03 February 22
Quote from: Fran123 on 21:27, 03 February 22none shows the Usifac II Enganged message at boot up

This happened to me too several times. Seems Usifac easily "forgets" its ROM number and you have to assign a new one. Try "out &FBD2,5" on basic prompt, and then reset.

If that doesn't help, you might need to reprogram it (happened once to me).
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 23:40, 03 February 22
Quote from: ikonsgr on 19:09, 13 January 22Anyway, with my CPC 464 everything works ok with rev6 firmware,never had such boot problems, so i suppose the problem doesn't have to do with firmware bug.

I tried back and forth.
PSU: no change
different firmware: no change
no finally cleaned the edge connector with a fibre pencil: no change

The behaviour stays perfectly the same: first boot, Usifac is not recognized. Then I reset and it is recognized. Everything works perfectly until I reset again, then the computer hangs during startup.

Am I the only one who experiences this?

The problem is only on an early 464 model. On a 6128 it works perfectly fine.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: XeNoMoRPH on 07:11, 04 February 22
Quote from: eto on 22:43, 03 February 22
This happened to me too several times. Seems Usifac easily "forgets" its ROM number and you have to assign a new one. Try "out &FBD2,5" on basic prompt, and then reset.

If that doesn't help, you might need to reprogram it (happened once to me).
I have the first version that came out of Usifac II connected to a CPC 464 and indeed, after a few hours of testing commands, when I bought it a long time ago, suddenly it no longer showed the message of usifac II ROM loaded, I had to buy the programmer to re-record the firmware, it happened to another colleague as well, and I see that it continues to happen.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 07:21, 04 February 22
maybe a chip bug?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 11:48, 04 February 22
Quote from: eto on 23:40, 03 February 22
I tried back and forth.
PSU: no change
different firmware: no change
no finally cleaned the edge connector with a fibre pencil: no change

The behaviour stays perfectly the same: first boot, Usifac is not recognized. Then I reset and it is recognized. Everything works perfectly until I reset again, then the computer hangs during startup.

Am I the only one who experiences this?

The problem is only on an early 464 model. On a 6128 it works perfectly fine.


I've not had any issues with my OG v1 board tallkey on usifac2 r6 fw - Had a few hiccups due to poor connection but that's usually a case of reseat the card and all's good again.


Reset and pause keys are wired directly into the edge connector - they're likely to always work.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 12:18, 04 February 22
Quote from: Devlin on 11:48, 04 February 22Reset and pause keys are wired directly into the edge connector - they're likely to always work.

Sorry, I was not clear here. reset and pause work of course.

I meant, that after I switch on the 464, the Usifac is  not recognised at all. But if I press reset the first time, it then IS recognised properly. Everything works as expected, I can run games etc. After I reset again, the 464 tries to boot but then halts on the boot screen before BASIC 1.0 would usually appear. Any further reset halts at exactly the same point and I have to turn off/on the 464.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: joruib on 14:36, 04 February 22
Is there a way to order one? This looks really great!
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 18:23, 05 February 22
UPDATING FIRMWARE

I have to try install the firmware because my UsifacII has lost it (why? how?  I don't know). And now I have some doubts:

1- In what order should dupont cables be connected?      I got the UsifacII in last June and it's different from the board in the guide (https://www.dropbox.com/s/pymv4sbxch3psin/Updating%20the%20Firmware%20of%20USIfAC%20II%20via%20ICSP%20v1.pdf?dl=0 (https://www.dropbox.com/s/pymv4sbxch3psin/Updating%20the%20Firmware%20of%20USIfAC%20II%20via%20ICSP%20v1.pdf?dl=0))


2- Where should I set the voltage?   I can change VDD Nom, VPP and VDD App, but the guide only says "set the voltage to 3.5V"

3- Also it says tick "power target circuit from pickit3" but the MPLAP IPE I downloaded (v6.00) says "power target circuit from PM".  Are they the same?

4- What "programming mode entry" should I choose?   
     The options are: "use high voltage programming entry mode" and "use low voltage programming entry mode"


Thank you




(https://i.ibb.co/W5CPZJh/Captura.png)

(https://www.cpcwiki.eu/forum/data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAvIAAAKGCAYAAAAoKH+bAAAgAElEQVR4nOzde1xVVf7/8dcBUyvRppn5GvfLDE3jaGQqiAgqNtF3Mi+ITSWk1ZSat9RqZCwz+xpNo6ZlqTNT6SDTRUDNml/0HYlQAixTRqcanbjjZeY7pUIXS9i/P86Fc+AAB+VygPfz8TjK3nvttdbe+6Cfvc5nr2NasWKFQRdmMpnURg9qozscg9pwn/rVRs9rozscg9pwn/rVhnu10R2OobVteLRjP0REREREpJ0okBcRERER6YJ6uVLo8ssv57rrriPo0jIASr8O5NChQ3z55Zft2jkREREREXGuyUC+X79+XHfddYR6VXHZuX/ybfWrmM6dh7rvGGTqzXUjA/i69484Wu3LoUOHqKmp6ch+i4iIiIj0aI0C+YiRI/npFae4vK6Kc/+3BY+vPfju3P9Re2IvJs++ABi15/h24Eg8+37GNZgIGzWILz2C+eT0QAoLCjr8IEREREREeppGgfxP+n5M79Ofce4/H2F88XdqPfsCJky9LrOVMfW6lLr/FAEG1H7DuerP6P2D6/lJ3x9R2IGdFxERERHpqRoF8l95/IA+X+dhnPknePSm7tvmU2Y8Lrkc48w/MS7z4atLI4CzTkp5Ezk5DF8AvuSTd/fy9zPOtp2icOdBKhzW2bPf167Mib+Rsf9Ek330C48jwtuy0KisFz+LHcU1Xk52rC7mr9nHnB4RvmHEDxvYaHXVgXcorPImYuIQp/3/NCePj8+a2x0UG8k1/Zz3uerA/7L/eJOH1Lz+P+aGMcE4HNLJw+z88FSTu/gOv4ERV9mXP8LOD0+2uoyIiIiIdIxGgXw1V/I9oxaMWvr4jeWHEzOareDfuxM4V/EuGLVUcyVQ3EKTl+Pn48Xfz1QDMOCnP3YS8Nr15x95ZH1SDX5DSRg+kJ+Ou4n+H75NfmULzdh44+dtvzgQP07gdHdbkO/NyEnX4usVwg3hNWR+4CRYrSois8ouGK8pYU/2Mc40KFZ9NJ///bTaFvhfM/ZGvA68Q2GVfbuH2dFWAbEtiP+Sf7z3vuWmwaypeUltAbolMDcvD2bycGyBuitlRERERKTjNJp+8uvay6mrqwOjFixx31f/eJUTqUM5se162+vsB78FoNeAIDBqqaur4+vay11q1MvHmwHmn/DzcW0fKk9ijX19fb2bLerAb2CDG4WB+Pm1tFMN1dWWH/v1s/T1IlX9q77/Pq3ov40Xg8b9nCm3/JwpdsPi/a8ZZV437sf0x4tBw8wj8dXHDjsE8U1X+2OusVR3/Lg5IK86/i/ziquC+amXi2VEREREpEM1GpE/c/o0pksHYv91r30D47jkB0OwRfYYeFxmTisxWe4FTJcO5Mzp0y02WHXiFL7eIQzyO0p+tTd+Xl9SdQJ8vV0M6FvJz8eS/nLibxRyLRHelkC6sulUHAZcha8lOK0+cbLRKHvnqKbyxJf8JPRy6NeP/sBZvPCznLfqE6c4238gPpZUHa/QkUwJrd+76sD/8oGzQ/a6zJKC82X9zUv1V1QDXlyOlxeAC2WqEREREZEO1CiQP336NL1/dBVfe/SxrTtfU8G5ylwnu5v4uux/qfPow6VeV3H6s5YDeapOUuU9EF9fb/wJwau6mI/PDqQ1g+zVZ2uAJpLL7Q0IZZCl3qrjJ6hkIBHeA5tOr/G+lqmTrrVrqJjCT6qhjb+Ot7q6wXMH3kOYcssQuxX/4oPdRY36d/b4v6gODcar33/h1/+ffHz2cvr1A/iS48eroV+ILS/emmPf/5pRjA+9HN9ho6h5L59PWhlwe3l5tRikeymSFxEREelwTgN5DPDsH2Rb9+2J/ZzJfxxMzr4I1mQua1j2bdEJKk+E4esdRgRQ/Y8TnKXxQ6MN1efSn+LjT6pxJZAf4DPQEtieorISGPClZRR5IIN+6kVlw6jW7kHYAT8dzQ1Xh3DDpIF2D6heuAHXhNj6/8mn5l7Ut+tijvzZUxyvCeYn/S7Hx8eLj/tZ0oZq/kXlWZyekrOfFlMVOgRfzPt88g8F3CIiIiLdQePUmjNnMHmAp1cgRu3X1H39f9SdO4M5rcb5yLSnVyAmD/O+rqioOmUeGedLKo9Xg0/TZb1+EkXCT6xL1lltXFGfdgIDiZgUR4T9Vu+rGPBJdZNpM2eOn6L66hC8uBxfHy8+PnthAbDX1ZHEX13f//1vNB5pd119eo2X1+X4ef2Xee2JU+aZdWqsNyptp7q65eN2pYyIiIiItC2n3+zq2ecKvjP14tsTBVT9MQQ8emHy7N1kJYapF559rsDl9IrKk1QNH4hv9Skqz9BsIG+btaa17PLcqw5kUWCJns0j7ZeD10D8BhzDxXuPC2abtaaN2NJrrgrhmhqwpdUAnK3hLOZAvn9/Lzju2G51dTV4/ZjxY4LwAo5/9Ff2O8t1b5Q370oZEREREelIznJlOPvt5dDnSkyX/hcmz2aC+LpvMfX9PvS50ryPy06Qv/Nt0vccbbcHSRul1VicOX7KcrthHmlvit9PQmz7f9KGgfhFO3uK4zUAl+PVj/q0GgBO8umxLwHw8h5If6C/NaWnpoRPnc1LX/1PPrVk9fj4mKem8fX5L0t1JeacelfKiIiIiEiHcjoif/g/3oT79sKjtxfnvziGxyV9OV/+tm0ecsMw6BVwE3XffUOv74Vi8voxh6t+CHTSfOKNHlI9RRWWG4sTpxxTWc6cpKo6hGu8rOk1J5upx/KFUM4edm34hVD9ghk/MdjyhVCt7X/Dh12b+0Iou9lrsEursTj76fvsYRTjQ4MZf0uweWVNCXve/SfVTTy0W/XhX8E6L/yEweaVDb7syZUyIiIiItJxTCtWrDCa2ujv78/QnwUTaORz7nQlxrdfmHfq/T36XOFHmSmSg38voaLCtaz19tDUlxypje7ZRnc4BrXhPvWrjZ7XRnc4BrXhPvWrDfdqozscQ2vbcDoib1VRUWEL0ocOvYmf/tA89vvJv/tzMOsg4GxKShERERERaW/NBvL2Dh48yMH27ImIiIiIiLjM6cOuIiIiIiLi3hTIi4iIiIh0QQrkRURERES6INORQwVNzlojIiIiIiLuSSPyIiIiIiJdkAJ5EREREZEuSIG8iIiIiEgXpEBeRERERKQLUiAvIiIiItIFKZAXEREREemCLiqQN/alMHjGK5QZmsFSLlx3eR8Z+1IYfF0Ke7vDcXSD6yEiItLdNRnIG8b7rLhuJIMbvma8Qn7qveaApR07ZhgV/GlGw/bv5U9lzQcX1v2mp1Y0u67MegxuEKxYz7V9/2zb9qUw+Lp7Wf9c5/S3yfdBK65JZ9i7cmSjYLT+PdX4PO5dOZLBK993q/fFhbJesxX7HI/B+l5yx+slIiIirderpQIJG/JZMdrUYO3tHEkyBwbtwTDe5/Ghi0mPX8uRraNs6/euHMmeCiDw4tsITPoDR5Iuvp62YDKNYnw8pJdUAP4O2/Zl74L4tSycP4qF8zunbysOFbDCsrx35UjmfLaQt7bcRqCp4fvCfYyOnQSZpZRj93Yp30dWEUAxJeUQbdlgGO+zJxMSNkQSOHqU27wvRERERJpzQak1to/e7dc1GLl1Nrrssrz3SGcID8+IdFgdvbzAdlPhrD3DqCB15jSeLoKiNdMs25axYkbDdSnkWo6htM4yepn6CtObGGVu9OnAjHuZbjdqu3el4yh1w5FQV5gDz/ccRoINo4KSzyAhNtIh3aGpY2/4qYN1lNmqLPXedkuZaDxyn9LgWJrf7tDnizyXAPgHEcYu9uTZrasopSh+LRvjD5OVW1m/vryMYwwhxL/+vX0h74sh83a5dE46+1o11b+Gv7OGkW8Z2Xcsd8HXRERERNpUmzzsahj5PD50MWzI58ihAg4fXEvommkX+R/+YYqbuBewjtg3bO/xPD+Stmzn4TAIW7KdI4cKOHJoFSu2NlyXTHSDOtP/Ck8eNNf31hJ4evmrlqDZcnPwo7WWfQs4fG8IRda+7EthTuYkNlr2PbxrIZRUNuxyy6LGkNAw8CzfR1bRJMZH2R+783P9eJ4fwT+CopIKSznzTYD9zUF5yWHCbhjd5iPp1utxzHZ+C3hrSTFzhj5lCVyb326rJ++ptjmXAAGjiQuDY3b778veRViwPwHBQ2znCaA8N5uisFjGBDSuplXviw2TXDon++i8a9Wwf678zqbPe4/x1muyYRLp8+5Teo6IiIgbaDGQT58X6ZgTbTdqaPP+e6SHLeQuS8BpSxXJzr+gTplGJ7Mx3r7tBqO3eW3bHkDCvfWpIgExsYQVZfNeOZC3jaeLJrHx0Uin+5WXFENYENYY0BR4OyuS/J2WbY6zYyjPzaYofgzR9sFcM+faYVS/fB9ZP1rLxnhzGok1WAwN9mt131pSvu1l0sMW8mRifd0Bict5OGwXm7ZVtrjd6kQbnUsAk8mfMTcMoeiv+2yfYuzJHEJcjJ/5+roYNF/w+6KFY+6Ia9Xwd9fhE4NW/A4lbFha/x6MSuThsAafaIiIiEinaDGQT7CM2Nley0c1KnOipBiK1nPz0PrAYU7mxXUsern9KOcu5gyNtKU2lLdDe01pGKg3ZA7uLH25yFQI++DOMCp476+HSYh1DBSbPdf+QYRZ8r+pKIVgfwKCsQRdFRQ3GN1vK+Ulh+FHgQ6BsMnkbxt1bmm7lXcbnktoEHiXl3HMOuoeMJq4MPOnH/YBfuuOufn3RYvH3AHXquHvrv0nBhf6O+TsuomIiEjnaPFhV5eFtc8DkKbRyRw5lGxLBXh6az5jgptuzzA6NsAwBd5O2qHbKUu9l5vXrOfmoesJW7KdtAsZSY5K5OGwaezJW8pof3NazWxnwVyTx+5PXNh6iitgX3YxcTP8CCAWlu+jPLiU9LAg7rqww+wQpoDb2u5cAgQEEmpJ0SovyaboR3dZzpk5GM0qqQTeI50QNjYVkbeXgNGdf62aeh/te6+9WxYREZE20CY58t7BIVBkniGk/fgTEmb+KaBD2mudwKQ/WPKg69M5WsuaDpKene88rYbmz7V1tPRYyavs+cxu9JlS3ispbjRC3FZGx06Cz8oaTfVY8hmEBfu3uL2htjiX4JguUl7i+OnG6NhJFP11H/tKisHJeW5JQHBIs9tbOubOulYO/b+A3yH7B7BFRESkc7XNN7uOMj+oOeeJ+vxao+wVVlzgzDXGvpTGufh523i6yBJARLXcnrOP/i8kHSAg8S4SitbzsuUhVMOoIPUP9bnGZakpDg/+OUupaFV7MbGEZb7Mb5yk1QAtnuvRsZMoWrOeY5acb3PAuIun1zRRX1uIGkNC0Xp+Y5fvXr5tJU8XTWJ2ol/L2y2Ob3uqTc8lWAPql9mU2SBVJWoMCUXZbGrqPLfEckxNvS9cOeZOuVb2/buA31nrMbRHipaIiIi0Tpuk1phMkTx2cC0MXcxgW57tEB7edduFVRg1hoR59nVZ68vnzkATMKrJ9kwmE0krF5I1ybptEhsPLm207oUNrh7bKB7btZDESZEMtrazZBLWaWsCguHpSZE8bd0hbCFvbbmIIMyScvF0E2k1LZ5r/yDCcHxQ0px7X0zIBWaotMRkMl+Px4dOY/Aa61rzeTePdDe/3Rq6ewfDvW15LsHyXtpFelhsg3x2f0LCDpNeNIS4CzgvLb0vWj4ndMq1cuh/U++jBrF8+rxI0m1LDY5BREREOo3pyKECzSPXSsa+FIb8IcjtvxRJ5GLYT1HZ+EvhREREpLO1TWpNN2b+8p766S+tKRTtOce3iIiIiEhL2m7Wmm5tF3OG2uU/x6/lyIXOpCIiIiIi0gaUWiMiIiIi0gUptUZEREREpAtSIC8iIiIi0gUpkBcRERER6YIUyIuIiIiIdEEK5EVEREREuiAF8iIiIiIiXZACeRERERGRLkiBvIiIiIhIF6RAXkRERESkC+rlbGX6zrc7uh/iBh577DH+XlTosE7vBRERERH35DSQB3NQ15M9/vjjDB86qLO74Ras5yEoMKCTe9I1lJaVOyzfPHFaJ/VE2tpbb2zv7C6IiIjYNBnIA41GZ6XnCgoMaBSginMfHvzYdvNz88RpvPzOx5gs20yWP+qXDdsGhzKAyeRYxmS30bGsYVe2nuM6w0nb9T84tNFo3/p+mEz2y63sZzPtNHcsjv20O2dO+mlux2jQb5wcd0vnzHC67+pnXuDBRfcjIiLiDpQjLy1SEN86w4cO4sODH9uCeOk+nn3mKVY/80Jnd0NERARQIC8iIiIi0iUpkBcRERER6YKazZFvDcOoIHXmNJ4usqyIX8uR5aNa2Od9Hp9Zxl1bbiOg/FUSl8OTW24j0D5xVlzy/O9fc6nc3Pt+2c49EREREZGO0CaBvDWIz7phO0e2+gOwd+VIBq9sIZgvL+OY5UdT4O2kbW2L3vRM58+f5523dzZb5sabJrdrH6reeIRZLx61LV9zz3pWT/Ru1zYbMoyDPD85A7+NTzDZx/1vCA1jLy/HzSHHfuWgh1m9LglvN7mhNYx9PD9mHg4Tkd6ygf/3cFQL++WxbvQfCHj1ZRL8TRhGHs9E/YHA116yLa8d9UcCXzcvi4iISOu0zYh8+T6yWMiTiX62VaMfXUvC0PfY+2gko8tfJXF5KaHsIr0IiF/L4Uf9SV2+nqIiuHkmvLkSlllG5Nl2HzevOQxA2JLtpCX5Y5S9QuLWUkIzd5EOthH/hp8EWMtLxzIH8f6s2PkEw00mS0C9kAfp+GC+6wnj9pe38Qs/czB7KmM6D64LJm1xdCf3CwyjjF1z58HTB3lrpHlWF8PIY8P9JVQZo/C9iJsNkymKJfnN3wyIiIhI09omR76ilKIfBTZIifEnJKyYEutkJ0XFhKzM5/DB7Tz82WIez/MjaeVCwsIW8taW2wi0FDPKX+U3a0LYeDCfwwfXErpmJX8qs0w3lwnjLesTMt9jr2FA3jae/tFajhwqsJTfZl7fw5w9W83p06ebfZ09W90ubRvGQXa8eJSblt/HcMt7wGQaytzl4/n0xTf40DAwjINsmPQIO9/YzIRJtzJh0q08+MYJhzo2WNZPmHQrGw4YdusfYeeBt3hw0q1MmLSZD+o+cihrLW8YJ9i1NIW3Ocof5/ySCZM227XduG53NTAijh+XlnDSMDAq/8SKG4Zwxw1DuP2GRN6qMjCMMv4yfwjLM8ps+xxcey2PpNfPLHQiPYmENfsA84j6xnFhxI8LI35sGC8UGrb1z4+9kzcKUvn1mOuYNGYlBxr+7lTmsu9IPCMj6leZTFHM35hoC+INI4/1o4cSN/p64kZfz7p8A8MoZ8ec+fyFv7HptmHcEPVrnpk9n7f4Gy/8cjixo/6Hwro81kTeRXqFgWHksTryLra/uooxI4czZuRw7n+l/niMijTmRAxndMRwoiJGEBVxD69VWI7j/VVEho8gMnwEI8NHMHLV+xd03q8fFsHQ6+sP9LrrRxJ2/cgLqktERKQjdNzDrmGxjAkAk8mfMTcM4VhJpfNyFaUUxY8h2mTCZBrF+PjDFFdY6wjC/JVEdjcJ/kGEZS5m8HUjGfIErDiUTLSbpCR0tG/OnaO2ttb2+ubcOdurtra2/Ro+cZxSxjPy+gbrrw/nJiqotMXrR/ljZThv7nqd3cvH8+mLz7PzeH0AXnrPevO2jTMoXfl7PrQFlUf54+uwaOdrvLlrFiM8rmfertd50/Kylj/AVUx6KpmbuJpfbTSXHcbJFup2P3/b/jT/DApmIPt4cebT+D35N/7818P8+clQtt25kiICGDo2jKNl5l8Mw9jH/jfDoPw9TliO60R5ETdER2EY5bw1734q5r5B5rtFZKQ+SPmvn+Aj2/EX8VIqLMw5yK73ljOs4e+OXwyjB2eyYu42jjs5Z4ZRzs458yidv4usfR/x9iuLKXloFR/iz5SNz/ELrmX2qwf4a95vWbTpOW7mWu5/7UOy33+E8Ea/pn/j+dJxvFfwITnbF8H6VAoM803B9pXPwMJM9hV+yL6CdUy0tl+exuwHilmYvp/8/R+QX7iOSRd43j86YP7ejKHXR3CdJYAv+qjgAmsTERFpf20TyPsHEfZZGWUO/9FXUFwUQnA7fxmoKfB20g4VcHjXQltAv2Kf+wZp7ammupqbb7nV9po85Q4mT7mDmupqvvjii/Zr+EQln17jh/MEmqN2gfzV/GrydeYfrw/nJuu2Ex+x79Px3HbLVeZt3tcz+po9FHxkt9/CXzikcdiPst8yZyufOtww2PetpbrdQRGv3DWEpJ8PJunng/kdG9m2KBo+2MO7JDB8hKXYiPHEks4HH8BV/qFQUmwO3D/Yw54Js5gbUMyBqvrA3s8HqHqP9z+eSsJUyy+iXwxRgzMo2G9tO4y7lybi08TNr8kUyKTnd/Er1nDvmOv5RfRQfhE9g52W0XAqc8k9Es8dt/rb6h8zOJO8C4p/r2Xu9EhLPcEE8xnllUB+Ks8dnsKdtzeVMvc3Siut/Y0ieVnzD9k35+BH9V+Cd0hBvIiIuLm2yZEPGE0c0/jNttG2/PR9TywmPX4tK0yW70gsyua98ttICqjgvb8eJvReP+d1+QcRlmnJrSefPZlDCJnRdNNlqfdyc8ldHFl+O2mHbmfvypFsKqmE0T0vT/70mTOtWt9mvP245tNKTgC+jTZejZ/TCP8q/K6BSjDfCLCHFZP3OJS4qYnmzPn3llH2id62B1ydamXdncMxR94hpB4UwkDbgj8+g+A4mIP65D2cBE7uy2B89HKuYg/5BRXcPLKEikE3MskX+KCYf5DBqljH8/PzVvTOZApk8guHmGL5NtSq12dw7x3/g3/uIwyrLOETMnk0OtNhn1+0on6XDAnC2b8YpoDpbFpXStQD4eyyrJu0rpDfRF3Yp3INU2s0Ii8iIu6sTQJ5k8mfpC3bYeY0Bq+xrGw4/WRYCMXLIxliedj1yGgThhFIaNFi28OuAKaA23hyyX3cPNQ8MpewIZ87A00YZTgVmPQHNq4cyeDrrO0s5K1Hm7hJ6Oa+/e471q5d5XR9u/L2IYitFHx0H8OH2a3/aD9v488Kp4H8SSo/tV8ez4qd9Tn2Vk4zYD7az9uMZ4V1lL1FzuvuEj4u5hRYPu2o4Ljli2JNptGMuHkOH3wwHt6aSvhigPH4L32ZgwHA2Lvwsd5EM5Vl2Y+a02ZMdjcKF/jBlc+0+/jv535PRSWYL3c8T+ytT5UxWf5o0+ylw6VUAs4+4DONWkb+/mXmhfdXEflACmP3JzOqldf7+mHmIP7gR4WYMGw58kUHFcyLiIh7arN55E0mf+7cWsCdTZYI4q4t+ayw+8/VZBrFikMFrLAs26afTPoDR5Ia1O8wPaU/d279g21b9PICjiy/2CPo+hYvXtYp7ZpMQ5lyz9XMWvl7RloCZsM4yPMr93DNPestyw12sgbj1wNM5FfXLOTV3RMZbpnhpuqNzXww/D4mObsJ8PbjGvKpPAHDfax1wa9sBSwpOz7A9U3X7fbTU44YzzjmsDNzJtdNDYQP9pBNAr+2pNpcFRhGReomjt48i1kmEzCa8An3k/GnMPzvtHwiNeIu7ho0gfSMGQxLMD9SfmL7Sj4c+Si3uHC/a1Sk8tCrwax+aHT9yoJs/t/gn/NHP8BvBrMGT+LPr88g/JfmNqte+x8Ko5YxxQ/gb+b0GNsHZH+jzGHZBZHjuIUF7M3/DaNGAfk5vAEswPyg6+zSRH5/h+Vxeb8ghlzbuuqtPjpQiH3sf+ijAtz8HSIiIj1cmwXy0rkeXTq7U9v3nfg/bOYRZk2u/8KpxvPIm2eT+SMAV/OrjU9YRsm9mfRUMpWTFzLhRevOM9h8i/O2TD43s+iefGZZ64obb0uVqb+p+KX5RmHnfa2q252YTNHcs+VhVs6cwB0bAcJI/FMq11mizatG3ggv/I7xSfVTOA4dPZWUN2HqCGsdAdy84QUqYicS/7yl0OAHeSHBxU74xTC6ZBITYuxXxrMyd7rlmYUAJm/cQHn0JOKes9a/mJd/ac5Xn7bgWu56cBh/IZ4n85bxy4XXcueS4bzFFFL2jXPxPIziobVTiFk0gt0AkyfbHnYlciwhDyQQuc664loWpv8B/6746YuIiEgrmY4cKmj0AXj6zrd57LHH+HtRobN9eoT0nW8zfOigzu5Gh7p54rRG1zx959skTL6J0rLyJvZyTVf7oqaL9eHBj3nsscd4+R1zLoz1iK1pJ/XLhm2DQxmwjQ5by5jsNjqWNezK1nNcZzhpu/4HhzYa7VvfD/v4uNX9bKad5o7FsZ+AsY+nR75EUPofuS3A1LisyWjQb2fH3dI5M5zuC7Bg0VIeXHQ/IiIina3jpp8UEblA+SmryLfmZ+Xn8MaQWEb1zEdhREREbJRaIyJdwA4eHrnD8vNkVhfcofQZERHp8ZoN5NN3vt1R/XBLHx78uLO70KFunthymQtlMg1l3q6h7deAdGuRyR+y9zfmFBfThU63IyIi0s00GciPG+fag2jSfTz22GNO1/f0GzoRERERd9TsiPzu3bspKyujqqqK8+fPd1SfpIP06tULX19fAgMDKfvs702WayrAF+mJ3n333c7ugoiICNBCIF9WVsa5c+eIiYmhd+/eHdUn6SDffvstH3/8MWVlTXzblsW4cePYvXs3p06d4vPPP6eurq6Detj1DRrQ2T3oRpxl1DSRZWO0XOSCFRb23Nm8RETEvTQbyFdVVRETE8N3333HN99801F9kg7i6enJoEGDyM3NxXdg8xHnqVOnqK2t5dprr+WSSy7poB6KiIiISFOaDeTPnz/PJZdcoiC+m6qtreWyyy5zKW3q888/Z8iQIZw7d46vv/66A3onIiIiIs1xafpJw9AsET1dXV0dnp6e1NbWdnZXRERERATNIy+tYBiGbupERERE3ESLgbwCt+6tNddXgbyIiIiI+9CIvLisrq5OgbyIiIiIm1AgL62iqSdFRERE3INLqTUahe2+WnNtXR+Rr2T7vPt4ubjxlpC7fs+GaZx77qsAACAASURBVH6ud7DDFLDmFyvZY7emVX2t3M68+8pJ/MsSRjpZLljzC1aynL8sGdn2XRcREZEeSSPy4jLXb+oMDCB2+VssibBfX8iam+9jnrGZ59wqmC9kzc0rYflbvBVhv+4+flG2nLccD8I5wwAMMMzH3nA5YvFbvIWeOREREZG2o0BeXNaaQN6yA47Fw7l1ZgizyysxDF8AKtMXMHuLdeg+lkffXEwElaQvmE1uzCaeTfCrL5cbw6ZnEzCvKWTthDyi3lxMRKN6Qpi56VnMu5rLBcwsZcuWYgiZaVeHReE+sonl0XD7/oaz+NFYsp/YR8HicMyhvLlf9c1Y6qpMZ8HsLRQDK28u5c1NMQ7LMzc9i//rE3iCR3lzcQQUrmVCWgAzg7awJdt66JZtTtqJnTmT0i25xFiOqeljFRERkZ5Es9b0cO01a411VLpRcfMGDMOgKn0hs7cG8cju9USAeXnCWh7ZvYiR0SFssQX8VeTnFkNxEJWGgS9AYR7ZsaNYZBhUpi9k9t5oNu1eb9n2DLfMXovf7kVEYADZbCl/hN27I6wHgkO3fP0JYStp228lPMG3fn34InbvtpavIn3hbPZGb2L3enOZwmduYfZaP3Yvmsr6TQYLZ1dwx+5FGOCwHIFBIfXHjQEUbyE3ehO7d/tCVToLZz/B2lG7WRQBhc/MZgsz2LQ7AV9Lu9mEEI2BUfAMs7fUnzPHYxUREZGeRF8IJS5zPUfesGSVNAjkqzL47dZixi0LxzAKeG1rMeOWrSPcElj7TH2IGblzSEufxvqR0QRvzaPggXAiqKC8eBzjxmWTV/AA4RFQmJfNuFEPWOoxmLFxKj7WAD38AZaNm0ha+jTCp5rXjYsMb7rvPlNZt6yciatmc8tW68pxLHvDLjgufI2txgw2TvWx1RP+wDLGTUwjfVo4UzEnFBm21BrHZcPuBsa8MI7brXX5jCQ6eCu5FZUY4ZXkZQfbHY8PU28fx9ZVpZYbI3Pbht2xvvEGjW9OREREpNtTao20m3dXTeTdBuuCZ2xkUQRQVUkpwcQ4pIT44hdk/dGPIHKprIKIyvd5d9woNgaU8rR5Be+/O45Ri6z1lPDunIlsbdRWKzobsYg33lgEQFXGQuZsfZdVE9+Fcct4Y1EEVZWlUPIucyY2aoXWNNOiqkpKCWKU3QcD+AUQTKmln7cyI3iOuW/AuGVvmM+niIiI9DgK5MVlrRmRN4Bxy3bxQLiTrbZRaSej9uaVGEY4o8at4s/5lURQSrD/NHwiouF3+VRGQOm4UTxgG6EO5s4X1jHVt1FTGEZlfZ9cHLL2iV/HrnigKoMH7v8z6dPCGWkAwXfywrqpNG7GwKiyey7A8rfDsv2x2x+ndX/bcTvZz+Fc+RC/bhfxwP51k1i1aiLvNnP8IiIi0n0pkBeXtXbWGqdBupWPH4GUUF5pYPhYV1ZRXgr4mdsZETmWVe/nk18Gox/0wfDxI7DkffLzywiMfMaSluKsnsZ9cZqvb7F/3WSe5DfsbHjXYVd3vF8glJRTaRg4b8Y8S43hEMg3l1pjlx5j30cfPwLZS3mlwQhrYF5ZTgkwusExjFi4k50Lq8hYNJe9+ZXEK5IXERHpUTxaKqD8+O7tQh52deVl2aGZMiNISAom58l1FFrWVWasJrVkLLfFm3PHDR9/gnNSSS0JxM/HPBrtH5xDamogkSOarscwClk3eTLrCl3ry4iEJIJznmRRRqXD+sqMV8gJTiJhhIExIoGk4ByeXFdYX6ZwHZMnW9tteI4aLJuXnG+zXQPz8USOLSF1dQaVhoFhVJLxSk79MTi0aWBUFrCvJJjRET6tuj566aWXXnrppVfXf+lhV3GZYRgufrNrHYYBhlFHc8W9J6/mWWMJC6ZMsawZw9KM+Qyvq6MOwHsEUUGplASOtKzzZkRUEKmGH97WMpZ6lpZPJWVKjq3uMUszWDC8jro6wzLa3UxfvCezOsOXZ6fOY0qq3foxS8lYPQIsbU9evZTyqSnUNzOGpRkLzH2z9DVlSo657RGOy5GWEfm6urr6EXnbMdifrzqGz3+WxCULmGfpzJjERIJKKvD1rqPOez5LxzQ+1snezZ9rERER6X5MRw4VNIrS03e+TU5ODg899BDjx4+nurq6M/omHcDLy4s9e/YQ6Pt9fhYWwd+LCh22W98LTz31FEFBQXz11Ved1NMe7PgOHlxQyS/T5zOis/siIiIibkPzyPdwrb2+ej+0tw/ZMO238OvtzBtuWZORRumYXzPcMDTFpIiIiNjoYVdxmeuz1siFG8bch2O49bfTeM+6KuZhXp83TOdeREREHChHXlxmfbBC2tmwubz22lyHVTrvIiIi0pBSa3q41lxfBfIiIiIi7kOpNeIyBfIiIiIi7kOpNeKyuro6+vbt29ndEBERERE0Ii8uOnv2LGfPnu3sboiIiIiIhQJ5cUn//v0ZPHhwZ3dDRERERCw8WiqgtJruTddXREREpGvqESPyv336aVJTU6mtrW2yjPdVV/HSSy8RFBQEQHFxMXf96lf86+TJJvfx9PRkxp138tBDD7V1l0VEREREmtUjHnZNTU3l+qFDCY+IaLLM888/z9tvv82sWbMAyMrK4l8nTzJ37twm99lfWMifUlN58MEH27zPIiIiIiLN6RHzyNfW1hIeEcHc++9vsszzzz/PebsR+9q6OoBm9wH44MMP26aTnaQ7XF8RERGRnqjFHHkREREREXE/CuRFRERERLogl1JrukP6hSvHYV+m4d9NlW+pjLvryn0XERER6ck0Ii8iIiIi0gUpkBcRERER6YL0hVA9nK6viIiISNfUI74QytvbmxdeeIEXXnih2XL+fn62n328vQH42eDBze7jZ7ePiIiIiEhH6RFfCPXHP/yBrKwsh3niG/L18WHChAm2Y500aRIAx0+caHKfXp6e/Pd//3eXPz8iIiIi0vX0iBH5wMBA7rvvvlbtYzKZmDx5cjv1SERERETk4uhhVxERERGRLsileeS7upKSEt555x1q6+qaLON91VVMnjwZk8kEQF1dHTt37uTkqVNN7uPp4cFNN91EYGBgm/e5o3SH6ysiIiLSE/WIHPl777uPkydPtljOZDLZcuN37tzJ8scea3GfjMxMst5++6L7KCIiIiLSGj0iR/7kyZPMmTOH++fMabLMkGuvper4cdvyCUvgf/hvf2tynxc2bmTjxo1t11ERERERERdpHvkeTtdXREREpGvSw64iIiIiIl2QAnkRERERkS7IpVlrukv6hSvH0bDMhezTlXTlvouIiIj0ZD3iYVfpOgzD4NSpU3z++efUNTNdqIiIiEhn8/Dw4Morr2TgwIG2Kcw7kgJ5cSunTp2itraWa6+9lksuuaSzuyMiIiLSpO+++46ysjJOnTrFVVdd1eHt94hA3tPTkw/2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xfMb782UiIiIiESbEyPyH/7wh7n88st57bXXKC4uDs//7W9/y7/927/x4osvsmDBAq655ho+9KEPAfC+972PV199lb179/LKK6/E1NK/9tprXH755Xz4wx+e1X0REREREYE5ksjPmzePf/qnf2LTpk08++yzPPfcc3zrW9/ic5/7HBUVFXz7298OJ+S//e1vAVixYgUAb731Flu3buV///d/+fSnP83XvvY1li1bxn333cdjjz2mem4RERERSYrsqRr4/f6MmK6//nruuusuFi9ezKuvvkpHRwePPPIId9xxB1//+tfD7UZHRxkdHQ2//vrXv84dd9zBI488QkdHB6+++iqLFy/mrrvu4vrrr0/6fs3EJCIiIiLpZ8pEPpNUV1dz33338Zvf/Ib3vve9ANxyyy2Mjo6yZ8+emPZ79uxhdHSUW265BYD3vve9/OY3v+G+++6jurp6VmMXEREREYk05+pCVq1axdDQEJ/73Of41re+xQ033EBzczNLliyhpKQkfKPliRMnaGtr46WXXmJoaIjXXnuNr33ta6xZs4ZVq1YleS9ERC7cH/7wB06dOsW5c+fOu49LLrmEa665hiuvvHIGIxMRkUTMuUQe4Etf+hKf+tSn+I//+A/OnDnDZz7zGb7yla/wzW9+kw984AMAdHR08JWvfIV///d/5xe/+AWXXXYZO3fu5IYbbkhy9CIiM+PUqVMUFxdHfVnedL3zzju88sorSuRFRJIgocdPZmId9fXXX8+OHTt466238Hg8eDwe/vCHP/CrX/0KgKuvvpqXX36ZRYsW8S//8i98+MMfZt68eRl3LDJtf0QkcefOneNv/uZvePfddxkZGZnWur/85S+57rrreP/7339BI/oiInL+5uSIfMi8efPIzc3l9ttv5/bbb092OCIis87v94e/0TpRXV1dHDp0iE996lMaDBARSaI5nciLiMx1oSd1Jcrr9dLa2srtt9/OyMjItNYVEZGZldDjJyVzZdb59eKqtWK1xk61Lm+yg4vhddVibfCk4fY9NFitXJTQPQ1YrQ14ALwuakM/T9g8dI5rme1T7HXVxr3WrLUuwqF4GiaPLc7yqH4j+7pIpvOo2r/85S9897vf5dJLL8VisWRs6aWISLrQiLxkHFujm3pL5BwPDVY7tbTSVG1MVlgZxEK9232Ruq4n8a49dLabcbQ2kbTT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)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: issalig on 20:14, 05 February 22
PM the author @ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541)

Quote from: joruib on 14:36, 04 February 22Is there a way to order one? This looks really great!
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: issalig on 20:33, 05 February 22
I have version MPLAB IPE 5.45 and it seems it is a little bit different (look at the attached image.
Power target circuit  is checked.
Voltage level is 3.75V
Programming method is Apply Vdd before Vpp
Also in the Power Settings I have these values.

Hope that helps.

Quote from: Fran123 on 18:23, 05 February 22UPDATING FIRMWARE

I have to try install the firmware because my UsifacII has lost it (why? how?  I don't know). And now I have some doubts:

1- In what order should dupont cables be connected?      I got the UsifacII in last June and it's different from the board in the guide (https://www.dropbox.com/s/pymv4sbxch3psin/Updating%20the%20Firmware%20of%20USIfAC%20II%20via%20ICSP%20v1.pdf?dl=0 (https://www.dropbox.com/s/pymv4sbxch3psin/Updating%20the%20Firmware%20of%20USIfAC%20II%20via%20ICSP%20v1.pdf?dl=0))


2- Where should I set the voltage?   I can change VDD Nom, VPP and VDD App, but the guide only says "set the voltage to 3.5V"

3- Also it says tick "power target circuit from pickit3" but the MPLAP IPE I downloaded (v6.00) says "power target circuit from PM".  Are they the same?

4- What "programming mode entry" should I choose?   
     The options are: "use high voltage programming entry mode" and "use low voltage programming entry mode"


Thank you




(https://i.ibb.co/W5CPZJh/Captura.png)

(https://www.cpcwiki.eu/forum/data:image/png;base64,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bkPzyPdwrb2+ej+0tw/ZMO238OvtzBtuWZORRumYXzPcMDTFpIiIiNjoYVdxmeuz1siFG8bch2O49bfTeM+6KuZhXp83TOdeREREHChHXlxmfbBC2tmwubz22lyHVTrvIiIi0pBSa3q41lxfBfIiIiIi7kOpNeIyBfIiIiIi7kOpNeKyuro6+vbt29ndEBERERE0Ii8uOnv2LGfPnu3sboiIiIiIhQJ5cUn//v0ZPHhwZ3dDRERERCw8WiqgtJruTddXREREpGvqESPyv336aVJTU6mtrW2yjPdVV/HSSy8RFBQEQHFxMXf96lf86+TJJvfx9PRkxp138tBDD7V1l0VEREREmtUjHnZNTU3l+qFDCY+IaLLM888/z9tvv82sWbMAyMrK4l8nTzJ37twm99lfWMifUlN58MEH27zPIiIiIiLN6RHzyNfW1hIeEcHc++9vsszzzz/PebsR+9q6OoBm9wH44MMP26aTnaQ7XF8RERGRnqjFHHkREREREXE/CuRFRERERLogl1JrukP6hSvHYV+m4d9NlW+pjLvryn0XERER6ck0Ii8iIiIi0gUpkBcRERER6YL0hVA9nK6viIiISNfUI74QytvbmxdeeIEXXnih2XL+fn62n328vQH42eDBze7jZ7ePiIiIiEhH6RFfCPXHP/yBrKwsh3niG/L18WHChAm2Y500aRIAx0+caHKfXp6e/Pd//3eXPz8iIiIi0vX0iBH5wMBA7rvvvlbtYzKZmDx5cjv1SERERETk4uhhVxERERGRLsileeS7upKSEt555x1q6+qaLON91VVMnjwZk8kEQF1dHTt37uTkqVNN7uPp4cFNN91EYGBgm/e5o3SH6ysiIiLSE/WIHPl777uPkydPtljOZDLZcuN37tzJ8scea3GfjMxMst5++6L7KCIiIiLSGj0iR/7kyZPMmTOH++fMabLMkGuvper4cdvyCUvgf/hvf2tynxc2bmTjxo1t11ERERERERdpHvkeTtdXREREpGvSw64iIiIiIl2QAnkRERERkS7IpVlrukv6hSvH0bDMhezTlXTlvouIiIj0ZD3iYVfpOgzD4NSpU3z++efUNTNdqIiIiEhn8/Dw4Morr2TgwIG2Kcw7kgJ5cSunTp2itraWa6+9lksuuaSzuyMiIiLSpO+++46ysjJOnTrFVVdd1eHt94hA3tPTkw/2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xfMb782UiIiIiESbEyPyH/7wh7n88st57bXXKC4uDs//7W9/y7/927/x4osvsmDBAq655ho+9KEPAfC+972PV199lb179/LKK6/E1NK/9tprXH755Xz4wx+e1X0REREREYE5ksjPmzePf/qnf2LTpk08++yzPPfcc3zrW9/ic5/7HBUVFXz7298OJ+S//e1vAVixYgUAb731Flu3buV///d/+fSnP83XvvY1li1bxn333cdjjz2mem4RERERSYrsqRr4/f6MmK6//nruuusuFi9ezKuvvkpHRwePPPIId9xxB1//+tfD7UZHRxkdHQ2//vrXv84dd9zBI488QkdHB6+++iqLFy/mrrvu4vrrr0/6fs3EJCIiIiLpZ8pEPpNUV1dz33338Zvf/Ib3vve9ANxyyy2Mjo6yZ8+emPZ79uxhdHSUW265BYD3vve9/OY3v+G+++6jurp6VmMXEREREYk05+pCVq1axdDQEJ/73Of41re+xQ033EBzczNLliyhpKQkfKPliRMnaGtr46WXXmJoaIjXXnuNr33ta6xZs4ZVq1YleS9ERC7cH/7wB06dOsW5c+fOu49LLrmEa665hiuvvHIGIxMRkUTMuUQe4Etf+hKf+tSn+I//+A/OnDnDZz7zGb7yla/wzW9+kw984AMAdHR08JWvfIV///d/5xe/+AWXXXYZO3fu5IYbbkhy9CIiM+PUqVMUFxdHfVnedL3zzju88sorSuRFRJIgocdPZmId9fXXX8+OHTt466238Hg8eDwe/vCHP/CrX/0KgKuvvpqXX36ZRYsW8S//8i98+MMfZt68eRl3LDJtf0QkcefOneNv/uZvePfddxkZGZnWur/85S+57rrreP/7339BI/oiInL+5uSIfMi8efPIzc3l9ttv5/bbb092OCIis87v94e/0TpRXV1dHDp0iE996lMaDBARSaI5nciLiMx1oSd1Jcrr9dLa2srtt9/OyMjItNYVEZGZldDjJyVzZdb59eKqtWK1xk61Lm+yg4vhddVibfCk4fY9NFitXJTQPQ1YrQ14ALwuakM/T9g8dI5rme1T7HXVxr3WrLUuwqF4GiaPLc7yqH4j+7pIpvOo2r/85S9897vf5dJLL8VisWRs6aWISLrQiLxkHFujm3pL5BwPDVY7tbTSVG1MVlgZxEK9232Ruq4n8a49dLabcbQ2kbTT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)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 11:10, 06 February 22
And what connection?   A or B?


A)
(https://i.ibb.co/g7CTJzD/cruzado.png)


B)
(https://i.ibb.co/dGqp7Dz/paralelo.png)


Thank you
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 11:44, 06 February 22
Quote from: Fran123 on 11:10, 06 February 22
And what connection?   A or B?

(snip for brevity)


It's definitely B - The arrow on the Pickit (indicating pin 1 of the ICSP connector) should meet the *top* of the usifac2 as viewed from above
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 13:24, 06 February 22
I think the problem with the firmware loss has to do with the fact that i'm using the MCLR (master clear pin) of PIC, in order to hardware reset PIC when you press the reset button.
Although this souldn't happen in theory (there are other safe guards to prevent this), it seems that it can happened under certain conditions.
Now, PIC offer various protections for flash eeprom (like code protection and write protection too) which i believe will solve this problem. Unfortunately if i enable these protections, the firmware produced, can't be flashed using older PICKIT 3 programmer. So, for some time, i used "Unprotected" hex files to flash PIC's ,but with rev6 and then, i surely used "protected"  firmwares for the boards and unprotected for the the distributed hex file (for anyone with pickit3 programmer to be able to flash it).
So, after late november, all boards sent (~25-30 so far) shouldn't have this problem.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 14:40, 06 February 22
Quote from: ikonsgr on 13:24, 06 February 22So, after late november, all boards sent (~25-30 so far) shouldn't have this problem.

Can we apply this change on our older Usifacs too?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 20:28, 07 February 22
Little improvements:


- print the firmware version at booting


- columns in CAT instead of a single list with pauses
I think it is very easy, just print the file name and count the chars, later print 8-chars whitespaces, print a point and the same with extension, later print 8 whitespaces.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 21:05, 07 February 22
Quote from: eto on 14:40, 06 February 22
Can we apply this change on our older Usifacs too?
The protections can only applied using pic kit4 programmer. If you want i can upload the "protected" version of hex file to try it.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 21:24, 07 February 22
Quote from: Fran123 on 20:28, 07 February 22
Little improvements:
- print the firmware version at booting
Done  :) :
[attach=1,msg212196]

Quote from: Fran123 on 20:28, 07 February 22
- columns in CAT instead of a single list with pauses
I think it is very easy, just print the file name and count the chars, later print 8-chars whitespaces, print a point and the same with extension, later print 8 whitespaces.
Actually you can only have 2 columns (as display is usually in mode 1). I remember i had a few trials in the past (using 2 columns for cat), but the result was a bit messy and made the identification and selection of  file/dir a bit difficult. Maybe i'll take a look when i have time (currently i'm working "full time" for the ram/rom board  :) ) .
In anycase,i think that the ability to use filtering in catalogues (|CAT,"xxx") adequately replaces the lack of "multi column" display  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 21:42, 07 February 22
Quote from: joruib on 14:36, 04 February 22
Is there a way to order one? This looks really great!
Please contact at: ikonsgr745@hotmail.com
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 00:35, 08 February 22
Quote from: ikonsgr on 21:05, 07 February 22The protections can only applied using pic kit4 programmer. If you want i can upload the "protected" version of hex file to try it.

I only have a Pickit3 :-(
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 11:37, 08 February 22
Ok,i made some new tests with PICKIT3 programmer and found out that you can program a "protected" hex file (i had to set voltage level to 3.75v in order to work though)
I just upload a new Hex file (https://www.dropbox.com/s/9sznc8x39k39kyw/18f47q10_6a_pic4.zip?dl=0) that has the code write protection enabled. If anyone else has PICKIT3, you can try to flash this file, and let us know if it works ok. Hopefully this will stop the ubrupt damage/erase of PIC's flash mem.

p.s. this firmware also shows rev number on boot msg  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 20:19, 08 February 22
Quote from: ikonsgr on 11:37, 08 February 22If anyone else has PICKIT3, you can try to flash this file, and let us know if it works ok.

I could successfully write both my USIFACs. Thanks a lot!

Now I'm just left with the 464 whcih won't boot with it. I just recognized something when I tried it:
After I turn it on, I see the full boot message incl. the USIFAC message. Then it resets and during the automatic reboot it hangs before the USIFAC message appears.
And as usual, everthing is fine (incl. reset) until I type |USB. Once I reset then, the system hangs just before the USIFAC message.

(Also if I enable USB and then disable it again - both with |USB- reset will work properly. )

I tried it with both USIFAC I own. So something must be special about this specific CPC model that is in conflict with the USIFAC boot sequence.

I remember that the earlier firmwares did not reboot. Would it make sense to try the old one and see if it happens there too? Where can I find an old firmware, I didn't see it in the first post.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 21:39, 08 February 22
Quote from: eto on 20:19, 08 February 22
I could successfully write both my USIFACs. Thanks a lot!

Now I'm just left with the 464 whcih won't boot with it. I just recognized something when I tried it:
After I turn it on, I see the full boot message incl. the USIFAC message. Then it resets and during the automatic reboot it hangs before the USIFAC message appears.
And as usual, everthing is fine (incl. reset) until I type |USB. Once I reset then, the system hangs just before the USIFAC message.

(Also if I enable USB and then disable it again - both with |USB- reset will work properly. )

I tried it with both USIFAC I own. So something must be special about this specific CPC model that is in conflict with the USIFAC boot sequence.

I remember that the earlier firmwares did not reboot. Would it make sense to try the old one and see if it happens there too? Where can I find an old firmware, I didn't see it in the first post.

Which model of 464 do you have?
https://www.cpcwiki.eu/index.php/Mainboard_Versions
Mine is a version 1 board, for example.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 21:45, 08 February 22
Quote from: Devlin on 21:39, 08 February 22Mine is a version 1 board, for example.

seems mine is v1 too
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 23:21, 08 February 22
@ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541)


I am able to Flash the PIC with PiCKIT 3 using 3.75 Volts.
On power I get the double restart and (6a)
I normally check the chip has programmed by using a seperate VERIFY pass
Tha Verify does NOT pass but the chip appears to be OK


Thanks


Keep Safe. Ray
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: zhulien on 23:47, 08 February 22
Quote from: OffseT on 10:45, 08 November 21
Chany already asked me about such a support months ago, but according to the USIfAC documentation it didn't seem to be possible.
Anyway, both UniDOS nodes and USIfAC documentations are available, so feel free!
(and BTW, I cannot develop DOS node for all existing weird hardwares I do not even own)


I would love to see UniDOS support for USIfAC II - what is the most difficult part of implementing a FS over the serial port?  [ I can only image that some DOS calls if not implemented right (i.e. cashed in the client) could be very slow - but this serial port seems very fast ]
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 23:57, 08 February 22
@Audronic (https://www.cpcwiki.eu/forum/index.php?action=profile;u=1169) You can't verify the code because firmware created with "code protection" flag enabled, thus chip can't be read after flashing it.
@eto (https://www.cpcwiki.eu/forum/index.php?action=profile;u=3625), there are some older firmware available but i don't remember if the 464 reboot process was included or not. In any case, i don't think that the auto boot is causing the problem, there must be some other thing that causes this abnormal behavior. One usual suspect is bad connection, usually at the edge connector, so make sure contacts are clean of dirt/oxidation etc.
Anyway, unfortunately 35+ years old electronics can give you a lot of headaches that sometimes is almost impossible to treat... but then again, is there a cure for aging?  ::)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 18:22, 10 February 22
Yet,another UPDATE: (Rev.6b)

- Major speed improvement in access of ASCII files, effectively doubles reading speeds and ~50% faster writes.
- Bug fix: Unable to Load/Save file right after deleting files from usb flash drive (gave a "file not found" msg, and needed to load/save file again)
- Firmware revision is now shown in boot message
- Some minor optimizations in code.

New firmware is avaialble at the usual place as awlays: https://www.dropbox.com/sh/p9eo65nzyq59u8c/AABt_lRn2b2XEJYH-gh7Xb4Ua?dl=0
Now, i don't know if you ever tied to work with ASCII files, but access speeds were rather slow ~200bytes/sec for write, and ~300bytes/sec for read. The main reason for that, is that ASCII files are using  CAS_IN_CHAR and CAS_OUT_CHAR Amstrad firmware routines, which read/write only one byte at a time, instead of loading/writing the entire file at once (CAS_DIRECT routines), which is the case for normal Basic and Binary files. Ofcourse this has major impact in access speeds, and even using a disk drive, read/write of a basic file in ASCII form is rather slow too. So, as i'm currently waiting for the new(and hopefully last...)  prototype board, of the long awaited 512k RAM/ROM board,i've decided to review the USIFAC routine codes for  CAS_IN_CHAR and CAS_OUT_CHAR and i mange to improve speed to ~300bytes/sec for write and ~600bytes/sec for read. And in the process i discover the bug noted above and fix it too.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 21:06, 10 February 22

will be the usifac II placed on the 2-row socket?

(https://www.cpcwiki.eu/forum/index.php?action=dlattach;topic=17425.0;attach=35086)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: shacpc on 21:10, 10 February 22
Updated!

Quote from: ikonsgr on 18:22, 10 February 22will be the usifac II placed on the 2-row socket?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 21:23, 10 February 22
Quote from: Fran123 on 21:06, 10 February 22
will be the usifac II placed on the 2-row socket?

  Yes, the dual row 50pin socket can be used by any board using pin connectors (final board will be a bit different with extra components, but roughly at same size):
[attach=1,msg212334]

This means that anyone already having USIfAC II with edge/centronics connector cable, can simply unplug it from USIfAC ,plug it to the RAM/ROM board and then plug USIfAC II on 50pin socket, e.g. no need for having extra EDGE/CENTRONICS connector cable!  ;)
There is also an edge connector at top of the board, where you could also connect USIFAC II or any board with edge connector. So practically RAM/ROM board will also act as "mini" M4 expansion board, that will offer 1X50pin socket + 1X50pin edge connector!  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 21:29, 10 February 22
the worst, it's seems a big board for only two chips (I don't know if components are missing)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 21:41, 10 February 22
Quote from: Fran123 on 21:29, 10 February 22
the worst, it's seems a big board for only two chips (I don't know if components are missing)
Indeed, final board will have extra components (including a 16pin hex buffer chip), BUT the main problem for having a seeminlgy large size of board, is the fact that there are too many connections to be routed which  must be placed on top & bottom layer of the board! In theory i could make the board using multiple layers, but this would skyrocket the cost of the board (5-10times more than having top/bottom layers) even if it will be smaller. In anycase, board size will be ~120mmX75mm, which i dont think can cause any "placement" problems at the back of your Amstrad, dont you think?  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 21:46, 10 February 22
I do!


It was an opinion with knowing all details.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: issalig on 22:35, 10 February 22
Are you routing it manually or with an auto router?

Quote from: ikonsgr on 21:41, 10 February 22there are too many connections to be routed which  must be placed on top & bottom layer of the board!
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 03:28, 11 February 22
@ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541)


Hi John

A Small concern ?

Using a CPC464 and USiFAC II I wish to load a Basic Program from the USB stick
and SAVE it to TAPE.
I am able to load the Basic Program to Memory.

I have tried most things but am unable to save the Basic Program to tape

I am unable to access the tape once I use |USB ?
I have used |USB to turn off the USB but it will not allow me to access the Tape recorder.
I have used Amsdos and Parados as the rom to try to overcome this concern BUT still cannot save to Tape ??

The tape recorder works OK without |USB, Replays/Records ?

Thanks

Keep Safe.

Ray
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 06:17, 11 February 22
Quote from: Audronic on 03:28, 11 February 22
@ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541)


Hi John

A Small concern ?

Using a CPC464 and USiFAC II I wish to load a Basic Program from the USB stick
and SAVE it to TAPE.
I am able to load the Basic Program to Memory.

I have tried most things but am unable to save the Basic Program to tape

I am unable to access the tape once I use |USB ?
I have used |USB to turn off the USB but it will not allow me to access the Tape recorder.
I have used Amsdos and Parados as the rom to try to overcome this concern BUT still cannot save to Tape ??

The tape recorder works OK without |USB, Replays/Records ?

Thanks

Keep Safe.

Ray


Once you've used |USB I believe you need to type a |TAPE to make it work again
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 06:26, 11 February 22
@Devlin (https://www.cpcwiki.eu/forum/index.php?action=profile;u=389)


Ok Thanks. Grrrrrr I missed that I will give it a try.


No That coms back with "UNKNOWN COMMAND"


Keep Safe. 


Ray
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 10:01, 11 February 22
Quote from: issalig on 22:35, 10 February 22
Are you routing it manually or with an auto router?
Both. First i use auto routing, and then i manually route any connections that auto router couldn't fit in board. I also reroute other lanes, in order to make board a bit smaller  :)

@Audronic (https://www.cpcwiki.eu/forum/index.php?action=profile;u=1169), indeed, on cpc 464, i'm afraid you can't use tape recorder once you enable usb host module. Fortunately CPC 6128 has an |TAPE command (which restores the old 464 tape accesss routines) just give |DIS and then |TAPE commands and you will be able to use tape.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 12:32, 11 February 22
[quote
@Audronic (https://www.cpcwiki.eu/forum/index.php?action=profile;u=1169), indeed, on cpc 464, i'm afraid you can't use tape recorder once you enable usb host module. Fortunately CPC 6128 has an |TAPE command (which restores the old 464 tape accesss routines) just give |DIS and then |TAPE commands and you will be able to use tape.



Hi John


Ok Thanks I thought I missed some command.


Keep Safe. Ray
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: wolfgang on 12:31, 12 February 22
Quote from: Audronic on 12:32, 11 February 22
[quote
@Audronic (https://www.cpcwiki.eu/forum/index.php?action=profile;u=1169), indeed, on cpc 464, i'm afraid you can't use tape recorder once you enable usb host module. Fortunately CPC 6128 has an |TAPE command (which restores the old 464 tape accesss routines) just give |DIS and then |TAPE commands and you will be able to use tape.



Hi John


Ok Thanks I thought I missed some command.


Keep Safe. Ray


Hi,
I guess its the same the other way around, I would like to load some Amsword texts from tape and save them to USB, won't work either, right?

When the RAM/ROM board becomes available will it be possible to put the CPC 6128 system in the ROM and make a CPC 6128 from the CPC 464 (functionwise)? 

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: wolfgang on 13:01, 12 February 22
Sorry, I wanted to send a picture but I don't know how to do it properly, could somebody explain it to me?

greetings
Wolfgang
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 18:49, 12 February 22
Quote from: wolfgang on 12:31, 12 February 22
I guess its the same the other way around, I would like to load some Amsword texts from tape and save them to USB, won't work either, right?
Actually i think this will work.Boot your CPC 464, load what you want from tape, and then give |USB. After this, you will be able to save your program to the usb flash drive  ;)

Quote from: wolfgang on 12:31, 12 February 22
When the RAM/ROM board becomes available will it be possible to put the CPC 6128 system in the ROM and make a CPC 6128 from the CPC 464 (functionwise)? 
Unfortunately neither 6128 firmware nor BASIC 1.1 seem to work on a CPC 464 (i've tried both, but 464 hanged or keep rebooting).
BUT, what WILL work is, load Amsdos on 512k sram, and by activating the Rom board mode, have a CPC464 with a real Amsdos Rom installed! This means that you could access all dsk images without Amsdos emulation (with |464 command) but directly, using |FDC command, just like with 6128 (=much faster access to images compared to Amsdos emulation)!
Still, the MAIN usage of the board, will be to have exta 512K Ram (yes i finally make it work on CPC 464 too ::) ), meaning that many 128k games, will run on CPC 464!  :D
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Animalgril987 on 00:50, 13 February 22
Quote from: ikonsgr on 18:49, 12 February 22Unfortunately neither 6128 firmware nor BASIC 1.1 seem to work on a CPC 464 (i've tried both, but 464 hanged or keep rebooting).
You need both at same time. Firmware needs to be in a Lowerrom position.
I have @Dukes M4 on my 464, with 6128 firmware in slot 31 set as lower ROM and BASIC 1.1 in slot 0. It works perfectly, with the 464 thinking it's a 6128.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 10:54, 13 February 22
Quote from: Animalgril987 on 00:50, 13 February 22
You need both at same time. Firmware needs to be in a Lowerrom position.
I have @Dukes M4 on my 464, with 6128 firmware in slot 31 set as lower ROM and BASIC 1.1 in slot 0. It works perfectly, with the 464 thinking it's a 6128.
Hopefully i'll verify this with my last board design of RAM/ROM board  :) . And i suppose CPC 464 truns more to CPC 664 as it still has 64k ram, right?
Of course  the main advantage of having 6128 firmware + Basic 1.1 on a cpc 464, is to get rid of the tiresome way of giving  arguments to Basic commands (a$="arg": |Command,@a$ instead of directly give: |Command,"arg").
BUT,i think that even more useful  on a CPC 464 ,would be to have Amsods Rom AND extra RAM at the same time!
This would give you the ability to load most of 128k games AND access dsk images at "Full speed" (using |FDC like with 6128) without amsdos emulation (using |464)
Of course this would require to have Rom selection + Setting Ram Configuration Logic activated at the same time, which seems quite difficult thing to do, but i think that with some "tricks" it might be possible...  ::)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: wolfgang on 14:18, 13 February 22
Quote from: ikonsgr on 18:49, 12 February 22
  Actually i think this will work.Boot your CPC 464, load what you want from tape, and then give |USB. After this, you will be able to save your program to the usb flash drive  ;)
`

Yes that would work with programs which can be just loaded (without running immediately).Actually I wanted to load a textfile written in Amsword (cassette version) and save it then to USB. Probably impossible as the Amsword cassette version will not work with disks and vice versa. 



  Unfortunately neither 6128 firmware nor BASIC 1.1 seem to work on a CPC 464 (i've tried both, but 464 hanged or keep rebooting).
BUT, what WILL work is, load Amsdos on 512k sram, and by activating the Rom board mode, have a CPC464 with a real Amsdos Rom installed! This means that you could access all dsk images without Amsdos emulation (with |464 command) but directly, using |FDC command, just like with 6128 (=much faster access to images compared to Amsdos emulation)!
Still, the MAIN usage of the board, will be to have exta 512K Ram (yes i finally make it work on CPC 464 too ::) ), meaning that many 128k games, will run on CPC 464!  :D
`
I see, just wanted to know what a 6128 would look like and feel  ;) Anyway more RAM and an AMSDOS ROM will be perfect, looking forward to it.

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 14:38, 13 February 22
have you tried to replace both at once? At least according to Bryce in one recent thread, this should work.

If not, here is a thread where Audronic published a Basic 1.1 ROM patched for the 464.

https://www.cpcwiki.eu/forum/hardware-related/amstrad-cpc464-40009-rom-replacement/msg176126/#msg176126
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Animalgril987 on 15:04, 13 February 22
Hi @ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541) .
It behaves kind of like a 6128, as I have a Revaldinho 512k ram expansion, but using the M4s' SD card as a giant floppy disc.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Animalgril987 on 15:11, 13 February 22
Quote from: wolfgang on 14:18, 13 February 22Unfortunately neither 6128 firmware nor BASIC 1.1 seem to work on a CPC 464 (i've tried both, but 464
Hi @wolfgang (https://www.cpcwiki.eu/forum/index.php?action=profile;u=4448) , you need both at the same time, with the firmware in a slot that can behave as a lower ROM, and BASIC 1.1 in upper ROM slot 0.
As I said above, it works perfectly with my 464.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: wolfgang on 15:26, 13 February 22
Quote from: Animalgril987 on 15:11, 13 February 22
Hi @wolfgang (https://www.cpcwiki.eu/forum/index.php?action=profile;u=4448) , you need both at the same time, with the firmware in a slot that can behave as a lower ROM, and BASIC 1.1 in upper ROM slot 0.
As I said above, it works perfectly with my 464.
Sounds very nice but right now I have only the USIFACII expansion, so I have to wait for ikonsgr new RAM/ROM board. Maybe it will work with that.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Animalgril987 on 15:46, 13 February 22
Quote from: wolfgang on 15:26, 13 February 22Sounds very nice but right now I have only the USIFACII expansion, so I have to wait for ikonsgr new RAM/ROM board. Maybe it will work with that.
@ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541) , will your new board be able to use one slot as a Lower ROM?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 16:36, 13 February 22
Quote from: Animalgril987 on 15:46, 13 February 22
@ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541) , will your new board be able to use one slot as a Lower ROM?
YES!In fact this is one of the reasons that it took me so long for the RAM/ROM board to finish it! :)
I wanted to have BOTH upper and lower rom emulation (in ROM board mode) at the same time working in real time (initial version could emulate upper rom or lower rom, but not both together). So in rom mode you should be able to have:
- Up to 32 upper roms in rom slots 0-31
- Lower rom at slot 0
- Lower rom at slot 0 and up to 31 upper roms to slots 1-31 (ability to relocate an upper rom 0 to different rom slot in SRAM is also provided, in order to have both upper rom 0 and lower rom 0 like with firmware+basic roms)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: wolfgang on 16:41, 13 February 22
Quote from: ikonsgr on 16:36, 13 February 22
YES!In fact this is one of the reasons that it took me so long for the RAM/ROM board to finish it! :)
I wanted to have BOTH upper and lower rom emulation (in ROM board mode) at the same time working in real time (initial version could emulate upper rom or lower rom, but not both together). So in rom mode you should be able to have:
- Up to 32 upper roms in rom slots 0-31
- Lower rom at slot 0
- Lower rom at slot 0 and up to 31 upper roms to slots 1-31 (ability to relocate an upper rom 0 to different rom slot in SRAM is also provided, in order to have both upper rom 0 and lower rom 0 like with firmware+basic roms)
Does "in ROM board mode" mean that someone must select either ROM board mode or RAM board mode? So in ROM board mode additional RAM will not be available?

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 16:54, 13 February 22
Quote from: eto on 14:38, 13 February 22
have you tried to replace both at once? At least according to Bryce in one recent thread, this should work.
If not, here is a thread where Audronic published a Basic 1.1 ROM patched for the 464.
https://www.cpcwiki.eu/forum/hardware-related/amstrad-cpc464-40009-rom-replacement/msg176126/#msg176126
I take a look at this rom and it seems that it's actually a 32K rom e.g. both lower (firmware) and upper (basic 1.1) roms together. I've tried to cut the 2nd half (e.g. basic 1.1) and use it as upper rom 0 along with the on board cpc464 firmware but after booting, screen rolls downwards indefinetely (just like when i tried to use Basic 1.1 from amstrad cpc 6128). So it seems that even with this rom you still need to replace and operate both upper and lower rom 0...  ::)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 16:59, 13 February 22
Quote from: wolfgang on 16:41, 13 February 22
Does "in ROM board mode" mean that someone must select either ROM board mode or RAM board mode? So in ROM board mode additional RAM will not be available?
Yes, for the moment, you can have either a 512K RAM expansion or a 32X slots rom board, but obviously you can't have them both at the same time, as this would require to have 2 X 512K SRAM chips, one for ram and one for rom! BUT, i think i might be able to create another "uinique" mode having 256k ram and at least one rom at the same time! Soon, when i receive the new prototype boards, we will know... STAY TUNED!  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: wolfgang on 17:05, 13 February 22
Quote from: ikonsgr on 16:59, 13 February 22

Yes, for the moment, you can have either a 512K RAM expansion or a 32X slots rom board, but obviously you can't have them both at the same time, as this would require to have 2 X 512K SRAM chips, one for ram and one for rom! BUT, i think i might be able to create another "uinique" mode having 256k ram and at least one rom at the same time! Soon, when i receive the new prototype boards, we will know... STAY TUNED!  ;)
You are a genius, I am fully tuned!!!
greetings
Wolfgang
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 01:49, 14 February 22
Hi All


In the Zip file is a Replacement 40009 rom That I made for the CPC464 it seems to work OK
If anybody would like to try this rom in their CPC464 please tell me how it went ?
It does NOT do the Double reset on power up


Have fun
Keep Safe


Ray



Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 12:00, 14 February 22
Quote from: Audronic on 01:49, 14 February 22
Hi All
In the Zip file is a Replacement 40009 rom That I made for the CPC464 it seems to work OK
If anybody would like to try this rom in their CPC464 please tell me how it went ?
It does NOT do the Double reset on power up
Have fun
Keep Safe
Ray
USIfAC's rom initialization code checks the byte at &0006 and according to the value, it makes the dual boot for CPC464 or not. Obviously, since replacement rom has a custom 464 firmware and basic 1.1 from CPC 6128, USIfAC "thinks" that this is not a CPC 464, thus no reboot. 
So, may i ask, does CPC464 with this rom replacement, work ok without the initial rebooting?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 12:35, 14 February 22
Hi John


Yes it works OK


I made it up for a friend who did not like the Basic 1.0 restrictions.


Give it a try it may be an option ??


Keep Safe


Ray
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 13:12, 14 February 22
Quote from: Audronic on 12:35, 14 February 22
Give it a try it may be an option ??
I will, as soon as i get the new boards to test the activation of upper/lower rom together.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: danhans42 on 20:13, 19 February 22
Quote from: Audronic on 12:35, 14 February 22
Hi John


Yes it works OK


I made it up for a friend who did not like the Basic 1.0 restrictions.


Give it a try it may be an option ??


Keep Safe


Ray

I have installed a 27SF256 with this and it seems to work. I am just awaiting my usifac to arrive and will test for you.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 12:08, 23 February 22
Quote- Add new RSX command: |MAN. This resembles |CAT, but instead of getting the list of files/subfolders of a usb device to screen,it outputs the list of files/subfolders into RAM, starting from &2b00 and using '1' as separator,'2' to mark end, e.g.: 1NAME1NAME1NAME...1NAME2
Function is used by filemanger utility, but it would also be useful for anyone want to develop it's own programs.
How do you know where a name is a file or a dir?

I suggest to use 3 values to that list:
0x01: next name is a file
0x02: next name is a dir
0x04: end of list


And as I read you can write the size in list, I suggest you add a |man2 command with this values as separators:
0x01: next name is a file
0x02: next name is a dir
0x03: next 2 bytes are the size of previous name
0x04: end of list


And I think output format is very grateful. For simple and full (with file size) catalogue, every file uses 20 characteres. More or less like that:

(https://i.ibb.co/HqWKzm5/Captura.png)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: danhans42 on 13:50, 23 February 22
I have ordered a USIfAC ii from ikonsgr74 (which incidentally arrived this morning - thank you). Anyway I got a little impatient waiting for it to arrive. Not that they take long to get sent out (like under 10 days from ordering), I am just impatient.

So I used the schematic and with some help from issalig on some missing connections on the schematic I made my own DIY USIfAC II - I have been working with the CH372/5/6 modules for some time (PCW/Spectrum/PlayStation) so already have those and plenty of other parts on hand so got cracking.

usifac2 scaled.jpg

Schematic with the missing connections corrected:-
usifacii_updated_WIP.png

The PIC18F47Q10 seems difficult to obtain at the moment here in the UK in DIP40 so I used a Microchip  PIC18F47Q10 dev module instead - https://www.microchip.com/en-us/development-tool/dm182029.

The CH376 module I am using is a left over from another project, and has the SD card interface as well as USB which is currently unused. Ignore the 512k SRAM, its just there for safe keeping :)

Just want to say thanks to John for this. This is a great little device at a fantastic price and looking at the source you can easily see just how much work has gone into this.

Also to add, this does not make for a cheaper alternative to actually purchasing a USIfAC II device.. By the time you have bought all the parts it will actually be more expensive - probably only one for hardware tinkerers. However, it does have the added bonus of a built in programmer/debugger so you dont need to buy a PICkit 3/4!

I will make a guide/schematic for using the module so its there should anyone want to have a go.

@Audronic - I have tested the USIfAC II with your basic 1.1 on my 464 and it does work - however once USB is enabled it requires a power cycle before the machine boots again or it locks up on boot. Maybe it still needs the double reset?

Thanks

Dan

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 16:11, 23 February 22
Quote from: danhans42 on 13:50, 23 February 22I have tested the USIfAC II with your basic 1.1 on my 464 and it does work - however once USB is enabled it requires a power cycle before the machine boots again or it locks up on boot. Maybe it still needs the double reset?
Hey, this is what happens with my 464 also! Does it only happen with Basic 1.1 or also with Basic 1.0? For my 464 (Basic 1.0) once I enable USB, I have to power down to restart, otherwise it locks on boot up.



Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: danhans42 on 16:34, 23 February 22
Quote from: eto on 16:11, 23 February 22
Quote from: danhans42 on 13:50, 23 February 22I have tested the USIfAC II with your basic 1.1 on my 464 and it does work - however once USB is enabled it requires a power cycle before the machine boots again or it locks up on boot. Maybe it still needs the double reset?
Hey, this is what happens with my 464 also! Does it only happen with Basic 1.1 or also with Basic 1.0? For my 464 (Basic 1.0) once I enable USB, I have to power down to restart, otherwise it locks on boot up.





Hey,

No this is isolated to using basic 1.1 on the 464 - I get the same behavior as you. With basic 1.0 it works perfectly for me.



Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 23:12, 23 February 22
Might that be related to the firmware then? Would you mind dumping your original 464 firmware and share it with me? I'd like to see if there is any difference to mine.

Attached is a DSK which you can use with the USIFAC to dump the firmware (and Basic) to the same DSK. If you could do that and share it with me again.

Probably it's not related to that and some other weird error, but if there's a difference I would give it a try to burn an Eprom and see if it works then.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 01:14, 24 February 22
@eto

Ok Done
Load the basic ? program listme.bas and list it

The .dsk is "dump464.dsk"

Keep Safe

Ray
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: caver99 on 09:24, 24 February 22
are any of these for sale?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: danhans42 on 13:49, 24 February 22
Quote from: caver99 on 09:24, 24 February 22are any of these for sale?
Just send a message to ikonsgr74.

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 14:59, 24 February 22
Quote from: Audronic on 01:14, 24 February 22Ok Done
Load the basic ? program listme.bas and list it
thanks a lot. So the firmware is identical to mine. So it does not depend on the firmware. 

But still: since it's not just my CPC, there might be a pattern. 

Maybe power? Can I feed 5V to the USIFAC directly somehow?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: danhans42 on 15:48, 24 February 22
You would have to isolate pin27 from the cpc I think it is somehow and feed the +5v seperately. Not sure of an easy way to do that.

They really don't use a lot of power these devices though.

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 20:21, 24 February 22
@danhans42  Really cool DIY remake of USIfAC II!  ;) 
I suppose thats the beauty of this project, for all DIY hobbists: circuit is a simple "single chip" design, that you can actually rebuild it, using "off the self" parts!  :D
Does anyone made something similar for other boards like M4, DDI3 ,Dandanator? Although, i suppose it should be much more difficult to recreate "multi chip" designs on a raster board...  ::)

Now, about the use of basic 1.1 on CPC464, can you check the byte @ &0006 address when you have the custom rom? I'm using this value to determine the type of amstrad cpc (value=145 for CPC6128 or 128 for CPC464) ,and if it's a CPC464 then it goes for the dual boot.
To clear things up, the "Dual boot" on CPC464 is actually needed for properly activation of the Amsdos emulation. Because CPC464 doens't have an amsodos rom onboard, it needs the 2nd boot to initialize the amsods emulation from USIfAC's ROM! So, if you use firmware+basic roms from CPC6128,on a CPC464, most probable USIfAC will "think" that you have a real CPC6128 so no reboot for activation of amsdos emulation is needed! But since amsods is still absent, you will need to do the 2nd reset manually  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: danhans42 on 22:05, 24 February 22
@ikonsgr Yeah I do love projects like this. Easily recreated and great to learn from. Thank you for the open hardware/software approach.

I have a lot of hardware around so if you need anything testing give me a shout, happy to support. I am going to breadboard some ROM I think using a GAL or maybe this PSoC5 I have got here :).

I also want to play around with the other modes of the CH375/6 so am going to put another one but put it on the bus itself so I can play with mice etc.

Anyway, back on topic..

Basic 1.1 - looking at offset 0x6 shows 0x91 - 145 in the custom ROM linked above. Would it be of any help if I ran the diagnostics to see what shows under ROMS ?

Thanks

Dan
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 10:17, 25 February 22
Quote from: danhans42 on 22:05, 24 February 22Basic 1.1 - looking at offset 0x6 shows 0x91 - 145 in the custom ROM linked above.
Well,this confirms my hypothesis, value '145' suggests Amstrad CPC 6128, so USIfAC assumes you have CPC6128 (and amsdos rom on board), so it doesn't activate Amsdos emulation on boot (resulting in the known dual reset). But,this is resolved  easily by just giving a reset by yourself... Not such big trouble, to make it an issue, don't you think?  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: danhans42 on 10:29, 25 February 22
Its not reset I have to power cycle to reboot once I've used usb.

It's not something I'd be happy using personally.

 However I just did it as a test so am happy with basic 1.0 for now. :)

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 14:41, 25 February 22
it would be interesting if it had a power connector

(https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/usifac-iimake-your-pc-or-usb-stick-an-hdd-for-amstrad-access-dsk-and-many-more!/?action=dlattach;attach=35086;image)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 19:28, 25 February 22
Quote from: Fran123 on 14:41, 25 February 22it would be interesting if it had a power connector
You mean an external power connector to give 5v from external psu instead of amstrad directly?

About the 2 column catalogue you asked, to have proper allignment for that, all names must be in 8.3 length (regardless of the actual length). Currently i "compress" names to their actual length (by ommiting spaces),which  gives faster print output for a single column list. I'll have to check the code and see if it can be changed to 8.3 fix length and then print 2 names/row. Also the distinction of file or dirs, is done "on the fly" by checking a specific byte in the byte stream you get from CH376 USB host module: after getting the characters of the name, you get a code byte that indicates if the previous name is file or dircetory.
 Anyway,if i may ask, why are you so eager to have a dual column name list? If you have many files in one directory, you can just use filtering with |CAT to reduce the number of files in the list. Besides, having a single column name list, has many advantages: much easier pinpoint of file you want (you just look at the left side of screen, instead of searching a hole screen full of characters), easier & faster copy of  name at prompt  for load/run (using shift+up arrow to navigate 2nd cursor, instead of wondering 2nd cursor with arrow keys to get to the right position), and finally, it's super fast too!  ;)

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 20:18, 25 February 22
Quote from: ikonsgr on 19:28, 25 February 22
Quote from: Fran123 on 14:41, 25 February 22it would be interesting if it had a power connector
You mean an external power connector to give 5v from external psu instead of amstrad directly?

About the 2 column catalogue you asked, to have proper allignment for that, all names must be in 8.3 length (regardless of the actual length). Currently i "compress" names to their actual length (by ommiting spaces),which  gives faster print output for a single column list. I'll have to check the code and see if it can be changed to 8.3 fix length and then print 2 names/row. Also the distinction of file or dirs, is done "on the fly" by checking a specific byte in the byte stream you get from CH376 USB host module: after getting the characters of the name, you get a code byte that indicates if the previous name is file or dircetory.
 Anyway,if i may ask, why are you so eager to have a dual column name list? If you have many files in one directory, you can just use filtering with |CAT to reduce the number of files in the list. Besides, having a single column name list, has many advantages: much easier pinpoint of file you want (you just look at the left side of screen, instead of searching a hole screen full of characters), easier & faster copy of  name at prompt  for load/run (using shift+up arrow to navigate 2nd cursor, instead of wondering 2nd cursor with arrow keys to get to the right position), and finally, it's super fast too!  ;)


I think columns in CAT is more confortable. Using a single column you have a lot of pages and the scroll is expensive. 
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 20:18, 25 February 22
Quote from: ikonsgr on 19:28, 25 February 22You mean an external power connector to give 5v from external psu instead of amstrad directly?
Yes
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 20:28, 25 February 22
Well, in order to add an external power connector i'll have to add a diode to the internal 5v supply, otherwise the external 5v supply, will try to power amstrad too!  :) 
The problem by doing that, is that diodes cause voltage drop of ~0.5-0.7volts, which can cause problems with USIfAC or usb host module (if supply from amstrad drops lower than 5volts e.g. board will get 4.5volts or less).
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 11:21, 26 February 22
I think it's not necessary to join both powering lines, only Ground lines must be connected.

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 12:35, 26 February 22
Quote from: ikonsgr on 20:28, 25 February 22Well, in order to add an external power connector i'll have to add a diode to the internal 5v supply, otherwise the external 5v supply, will try to power amstrad too!  :) 
The problem by doing that, is that diodes cause voltage drop of ~0.5-0.7volts, which can cause problems with USIfAC or usb host module (if supply from amstrad drops lower than 5volts e.g. board will get 4.5volts or less).
On the motherx4 there are jumpers which select if you use 5v from the computer or the external power supply. 
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 12:46, 26 February 22
Quote from: eto on 12:35, 26 February 22On the motherx4 there are jumpers which select if you use 5v from the computer or the external power supply.
That's a very nice alternative indeed! :-) 
Still can't find a purpose of having an added power supply connector on the RAM/ROM board,as extra power consumption would only add ~5% strain on Amsrtad's 5v psu (less than 50mA compared to ~1000mA of Amstrad's typical current draw).
 
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 12:46, 26 February 22
On second thought, although Ram/Rom board + USIfAC II are working fine using Amstrad's internal 5v supply,  you might want that, to support connection of extra boards to the 50pin connector + edge connector....  ::)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 18:05, 26 February 22
Ok, after a bit of board tweak, i've manged to fit a 5V supply connector along with a jumper to isolate internal 5v power (in case of connecting an external supply):

ram_rom2.jpg

Board dimensions is ~10cmX7cm and if all goes well with the prototype tests, that should be the first "official" version  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: buzby on 21:01, 26 February 22
i am interested in a unit please, pm sent
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: issalig on 22:48, 27 February 22
Quote from: ikonsgr on 18:05, 26 February 22Ok, after a bit of board tweak, i've manged to fit a 5V supply connector along with a jumper to isolate internal 5v power (in case of connecting an external supply):

Board dimensions is ~10cmX7cm and if all goes well with the prototype tests, that should be the first "official" version  :)

What's the reason for such that big bias holes? With smaller ones it would be easier to design the board.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 09:34, 28 February 22
Will be able to work with RAM and ROM?

For example, having 4 ROMS and the rest for RAM
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: danhans42 on 17:24, 28 February 22
I have the SRAM and latch parts here if you want me to test ram expansion with my DIY version @ikonsgr 
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 20:55, 28 February 22
did  you tried to download a webpage with an ESP01 connected to UsifacII?

I always get the first part losed.

 
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 22:19, 28 February 22
@issalig , man,really i never thought about vias, i just left the default size...  ;D  but you are right! Vias are pretty large (1.8mm diameter, 1mm hole),so i've decided to shrink them a lot (0.7mm diam. 0.3mm hole) and with a little effort ,i've managed to reduce height of board ~4-5mm.  :)

@Fran123, in order to have both RAM expansion and Rom board activated together, is much more complicated, as it needs latch/unlatch of the SRAM and rom select/ram configuration enabled at the same time. With current design,and possibly some board tweak of USIfAC (a direct connection between a ram/rom board PIC mcu and USIfAC PIC MCU is required) it might be able to have 256K ram along with one rom.
BUT, if i "merge" USIfAC II and RAM/ROM board into a single board (and with a couple of extra 3-state buffers for the needed latch/unlatch of SRAM), it should be possible to have 256k RAM with up to 16 roms, at the same time!  ;)
For the moment, the main goal is to test upper&lower roms enabled together....  ::)

@danhans42 , except for USIfAC II, extra testing of ram/rom board with various other hardware (like M4, DDI3, dandanator etc), will surely needed to verify the compatibility. So if you have a lot of Amstrad stuff, i can nominate you "official beta tester" for RAM/ROM board and send you  board for testing, as soon as i verify it's working ok at least with USIfAC II  :)

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: SkulleateR on 09:36, 01 March 22
@ikonsgr 

Count me in  ;D
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 20:18, 01 March 22
Ok,after a bit of tweaking i manage to convert both CAT and |CAT commands to "dual column" display!  :)
https://www.dropbox.com/s/t3hezc6wji387j4/fmanager.mp4?dl=0

Speed for getting each page, is ofcourse less than previous version,but since you get twice the names, it's actually 20-30% faster (~0.9sec/single column vs ~1.4sec/dual column in mode 2).

I also updated the file manager ( https://www.dropbox.com/s/852jaokpzkuxsyb/new_file_manager.zip?dl=0 ), by sacrificing a bit of speed, to get aligned names which are more neat and easy to read.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 10:10, 02 March 22
hello

Why don't you use four columns in mode 2?

 I think it's very easy, every column needs 20 characteres, so you need not use print \r and \n, and it's valid for all screen modes.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 11:35, 02 March 22
Quote from: Fran123 on 10:10, 02 March 22hello
Why don't you use four columns in mode 2?
 I think it's very easy, every column needs 20 characteres, so you need not use print \r and \n, and it's valid for all screen modes.
Hmmm, yes, it might be possible to do that rather easy, first, i have to check current video mode (SCR_GET_MODE) and set columns accordingly.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 11:52, 02 March 22
No, you needn't, because columns are 20, 40 and 80, that they are multiples of 20

format would be:

NNNNNNNN.EEE·BBBBBB·

where · is SPACE and B are characters to print the size

when file size is greater than 1M  you can print:

NNNNNNNN.EEE····+1M·
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 12:11, 02 March 22
Quote from: Fran123 on 11:52, 02 March 22No, you needn't, because columns are 20, 40 and 80, that they are multiples of 20

It would still require that you only print 20 files in Mode 0 but could be 80 in Mode 2.

@iconsgr: If I understand correctly, the filemanager is called by another BASIC program. Would it be possible to set the mode there instead of inside the compiled part? I personally find it extremely hard to read text in Mode 2 on a real CTM or even worse on a  MP-1/2 modulator.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 12:25, 02 March 22
Sorry, I didn't understand very good and I confused rows with columns  :picard:

Maybe, you need not know the mode, if it could be possible to pause the CAT listing pressing a key (ESC) and other to continue.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 16:56, 02 March 22
Done  ;)
You need to know the screen mode in order to set column variable to either 2 or 4. For mode 0 i've added a "change screen mode" message, as i don't think anyone whould ever wanted to get catalogue using MODE 0... :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 17:06, 02 March 22
Quote from: eto on 12:11, 02 March 22@iconsgr: If I understand correctly, the filemanager is called by another BASIC program. Would it be possible to set the mode there instead of inside the compiled part? I personally find it extremely hard to read text in Mode 2 on a real CTM or even worse on a  MP-1/2 modulator.
Actually, file manager is also a Basic program (like the fm/fsm programs), but it's compiled (using Hisoft's TurboBasic compiler), in order to get proper execution speed. Anyway, i'll see to it and make a "MODE 1" version too.
Btw,with new filemanager, you can now go from 1st to last page by using left arrow, and from last to 1st page by using right arrow (e.g. cyclic page shift)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 19:39, 02 March 22
Quote from: ikonsgr on 16:56, 02 March 22Done  ;)
You need to know the screen mode in order to set column variable to either 2 or 4. For mode 0 i've added a "change screen mode" message, as i don't think anyone whould ever wanted to get catalogue using MODE 0... :)
much more professional!!
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 12:19, 04 March 22
It's official: 200 USifAC II boards sold!
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Nworc on 12:59, 04 March 22
Quote from: ikonsgr on 12:19, 04 March 22It's official: 200 USifAC II boards sold!

Nice! So who is the lucky guy with order number  200? I think my one could have been close ...
It's a great board, says another happy customer.

BTW: First test of a server component in Java was successful.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Animalgril987 on 15:16, 05 March 22
Hi @ikonsgr . Is there a simple m/c code way to detect a USIFAC  connected to the CPC?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 17:33, 05 March 22
Quote from: Animalgril987 on 15:16, 05 March 22Hi @ikonsgr . Is there a simple m/c code way to detect a USIFAC  connected to the CPC?
Yeap, just give:
print inp(&fbd8)
This will get you USIfAC's Rom number (usually 5),otherwise you will get '255', which means no USIfAC board is connected.  ;)
Note also that, using this simple method,you can detect presence of USIfAC board, even if you have "hide" it from booting, by giving a rom number greater than 15. For example, if you give: OUT &fbd2,20 and reset Amstrad, you will not get USIfAC's boot message and no RSX commands will function, effectively disabling the board. BUT,you can still detect the actual presence of board by the simple inp() command mentioned above  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 17:42, 05 March 22
Quote from: Nworc on 12:59, 04 March 22Nice! So who is the lucky guy with order number  200? I think my one could have been close ...
It's a great board, says another happy customer.
Actually, it's some friend of mine who got the 200th board  :)
Btw,with 200 boards out in the world,and ~dozen more each passing month, perhpas now is a good time to add USIfAC II support to FUTURE OS!  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 19:37, 05 March 22
Hi

Are you going to implement a |cat2 command?
(Columns and bytes)

Are you going to release a new firmware versión?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Animalgril987 on 20:16, 05 March 22
Quote from: ikonsgr on 17:33, 05 March 22
Quote from: Animalgril987 on 15:16, 05 March 22Hi @ikonsgr . Is there a simple m/c code way to detect a USIFAC  connected to the CPC?
Yeap, just give:
print inp(&fbd8)
This will get you USIfAC's Rom number (usually 5),otherwise you will get '255', which means no USIfAC board is connected.  ;)
Note also that, using this simple method,you can detect presence of USIfAC board, even if you have "hide" it from booting, by giving a rom number greater than 15. For example, if you give: OUT &fbd2,20 and reset Amstrad, you will not get USIfAC's boot message and no RSX commands will function, effectively disabling the board. BUT,you can still detect the actual presence of board by the simple inp() command mentioned above  :)

Many thanks  :D
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 20:27, 05 March 22
Quote from: Fran123 on 19:37, 05 March 22Are you going to implement a |cat2 command?
(Columns and bytes)
Showing size for each file is not so easy to do with CH-376 Usb Host module. You need to open each file, send a request for getting size, close file, and then go to next file...  ::)  Unfortunately all this process, slows down a lot the execution of getting a catalogue. You can see that with filesizemanager (fsm, lists files with sizes) which is much slower than normal filemanager (fm). Anyway, i might take a look at this, and see if i can fit it  into USIfAC's ROM

Quote from: Fran123 on 19:37, 05 March 22Are you going to release a new firmware versión?
Yes,soon i will upload a small fw update having the new multi column CAT/|CAT commands, along with a few other minor improvements.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: shacpc on 06:52, 08 March 22
Hi @ikonsgr , some questions: 

a. is there a possibility to remove the restriction of File manager supports up to ~1000 filenames/directories and maximum 50pages (25 filenames/page) and have no limit or a wider limit?
b.  #687 the filemanager of this post has not worked correctly for me. accessing subfolders (second depth) fails when accessing a third depth or trying to run files from the second depth. In short, it has only been functional for me to execute files/directories in the root directory. I had to go back to the previous version of filemanager, which works perfectly.
c. do you plan that the .rom or .cdt files can be executed from filemanager? I say this from my lack of knowledge of the file system used.

thanks and congratulations for the project
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Zeit on 16:04, 08 March 22
Hi, @iconsgr, i'd like one. Count me in
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: SimonG on 18:57, 08 March 22
@iconsgr

Can you add me to the list of interested parties please?

Thanks
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 19:45, 09 March 22
Quote from: shacpc on 06:52, 08 March 22a. is there a possibility to remove the restriction of File manager supports up to ~1000 filenames/directories and maximum 50pages (25 filenames/page) and have no limit or a wider limit?
Actually there is no "hard limit" on that, it's just a matter of memory. You see, name catalogue is created all at once (it can't be done otherwise) and saved into amstrad's memory using the |MAN command.The ~1000 filenames is a minimum number, having "full length" 8.3 names. If you have shorter file names in average, you can get more than 1000names, using the old filemanager (new filemanager pad names with spaces to have all names alligned so ~1000 is the actual limit). Btw, there is a "hard limit" of 100 max. pages (which gives you a max. file number of 2000)

Quote from: shacpc on 06:52, 08 March 22the filemanager of this post has not worked correctly for me. accessing subfolders (second depth) fails when accessing a third depth or trying to run files from the second depth. In short, it has only been functional for me to execute files/directories in the root directory. I had to go back to the previous version of filemanager, which works perfectly
You need to select "old board", because the code for |MAN has changes to support the new filemanager, so it needs to load from a new binary file and not from USIfAC. Next firmware update (6c) will include this new |MAN.

Quote from: shacpc on 06:52, 08 March 22do you plan that the .rom or .cdt files can be executed from filemanager? I say this from my lack of knowledge of the file system used.
Rom files must loaded into specific places in 512K SRAM (that emulate the rom board), according to the desired rom number. Then you can "Execute" them by changing from RAM mode to ROM board mode (it will be done with a small push button like the reset button on USIfAC). So, for ROM files you can't just press a button and execute it like BAS/BIN files. I've developed a small utility for that, as you need to give both rom name and rom number. For cdt files (if i'm not mistaken are cassette images right?),i'm afraid i don't know anything about them.
BUT, it might be feasible to load .CPR files into 512K SRAM using filemanager  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 19:57, 11 March 22
I finally receive the new boards for RAM/ROM board project and made some tests. Test with upper/lower roms both activated at the same time, were succesfull, and now i could have a CPC 464 runnning with CPC 6128 FW & Basic 1.1 (also works with FW31  and Basic 1.1 on CPC464)!  :)
Now, although everything works perfect with my CPC464,i have problems testing with one of my CPC6128. It seems that it gives video noise on screen, whenever the extra 512K SRAM is used. Check this small video of Amstrad Diagnostics V1.2A while testing upper ram:
https://www.dropbox.com/s/2kdde3o3t5vfiot/VID_20220311_195103.mp4?dl=0
Same video noise also appears with some 128k games i've tried (RTYPE 128, Star sabre). I also have a rather weird erratic behavior of Amstrad when using ram/rom board with USIFAC II attached on it: https://www.dropbox.com/s/qqpkshz7gihq10s/IMG_20220311_202122_840.jpg?dl=0
USIfAC not recognised, programs stop loading, resets when roms are loading into SRAM, and the video noise mentioned above....  ???  Even more weird is the fact that USIfAC II alone, works perfect with the CPC6128, and problems start only when i plug  USIfAC on RAM/ROM board! Note also that NONE of these problems occures, when i plug RAM/ROM board with USIfAC II, on my Schneider CPC 464! With CPC 464, everything seems to work perfect without even a glitch! I'm trying to find what is wrong with CPC6128, but any "case scenario" i've thought, really doesn't make sence:
- If it's a problem with Amstrad's expansion port, why everything works ok when only USIfAC II is plugged?
- If it'a problem with RAM/ROM board,why everything works perfect with my CPC 464?
Could it be a board design problem, of added impedance to the various signal lines, as i'm using rathger thin lanes (0.33mm width)? But then again, why this is not an issue with the CPC464?
Funny thing is that i currently have 3 cpc6128, but one of them burned a rom and currently is "out of order" and the other is the "fully remade" i mention here (https://www.cpcwiki.eu/forum/technical-support/perhaps-the-strangest-problem-you-ever-see/)
, which most probable has a "dry joint/cracked trace" issue like Bryce suggests, and of course it's not a reliable Amsrtad for extensive tests...
Any suggestions?  ::)



Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: issalig on 16:28, 21 March 22
Given that there is noise in the screen, that would mean that addresses C000 to FFFF are corrupted.
Maybe there is noise in the address lines, and some bits are corrupted ending up in addresses in the screen memory, I am not an expert in electronics but would decoupling caps help?

Do you have an oscilloscope to check those lines? Maybe checking A15-A14 is a starting point

Which VCC do you get using 464 and 6128?

Maybe an external power would help in case it is too low.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 18:20, 22 March 22
Power supply is very steady at ~5-5.1 Volt so definetely the problem is not caused from it. I have to investigate further for various scenarios...  ::)
Anyway, i just upload a new firmware update (rev. 6c):

- |CAT,CAT commands, now show lists in 2 columns for MODE 1 and 4 columns for Mode 2.
- |FORMAT now places sectors in interleaved order (instead of sequential).This will not affect the format time of a disk, BUT,it will offer MUCH faster reading (~100%) and writing (~50%) speeds!
- |FDC now checks for valid image name and gives an error message if there isn't any. This will help to avoid hang ups, if you try to access non-existant image name or if image slot is empty (forgot to give |MG,"name" before activating FDC emulation).

You can find the direct link at 1st page of this thread as usual.



Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 19:47, 22 March 22
Quote from: ikonsgr on 18:20, 22 March 22Solder a small 1Kohm resistor as shown here:
how would it look like on older boards? Mine does look different without this spot where I could connect it too. 
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 19:49, 22 March 22
@eto, give me a bottom photo of the board and i'll show you  :) 
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 20:12, 22 March 22
this one
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 20:41, 22 March 22
Ok, place a 1Kohm resistor between the pins with red circles:
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 21:29, 22 March 22
great! thanks. btw: is it possible to add the disk swap button to this version?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: shacpc on 22:21, 22 March 22
thanks john, updated without problems!  8)

QuoteAnyway, i just upload a new firmware update (rev. 6c):
- |CAT,CAT commands, now show lists in 2 columns for MODE 1 and 4 columns for Mode 2.
- |FORMAT now places sectors in interleaved order (instead of sequential).This will not affect the format time of a disk, BUT,it will offer MUCH faster reading (~100%) and writing (~50%) speeds!
- |FDC now checks for valid image name and gives an error message if there isn't any. This will help to avoid hang ups, if you try to access non-existant image name or if image slot is empty (forgot to give |MG,"name" before activating FDC emulation).
You can find the direct link at 1st page of this thread as usual.


Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 10:21, 23 March 22
Quote from: eto on 21:29, 22 March 22great! thanks. btw: is it possible to add the disk swap button to this version?
Yes you can! First, you must update firmware, as the original fw for this board didn't  support dsk swap. Then, you just need to connect a small momentary button between the pins in yellow circle!  ;)

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 18:29, 23 March 22
Quote from: Fran123 on 19:37, 05 March 22Showing size for each file is not so easy to do with CH-376 Usb Host module. You need to open each file, send a request for getting size, close file, and then go to next file...  ::)  Unfortunately all this process, slows down a lot the execution of getting a catalogue. You can see that with filesizemanager (fsm, lists files with sizes) which is much slower than normal filemanager (fm). Anyway, i might take a look at this, and see if i can fit it  into USIfAC's ROM
 
Yes, it is a slower process, but the user can choose when to use it.  

Many times it is interesting to know how much a file occupies, and as an extra addition it could return the exact size in bytes.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 19:08, 23 March 22
Quote from: ikonsgr on 18:20, 22 March 22Power supply is very steady at ~5-5.1 Volt so definetely the problem is not caused from it. I have to investigate further for various scenarios...  ::)
Anyway, i just upload a new firmware update (rev. 6c):

- |CAT,CAT commands, now show lists in 2 columns for MODE 1 and 4 columns for Mode 2.
- |FORMAT now places sectors in interleaved order (instead of sequential).This will not affect the format time of a disk, BUT,it will offer MUCH faster reading (~100%) and writing (~50%) speeds!
- |FDC now checks for valid image name and gives an error message if there isn't any. This will help to avoid hang ups, if you try to access non-existant image name or if image slot is empty (forgot to give |MG,"name" before activating FDC emulation).

You can find the direct link at 1st page of this thread as usual.

Now,i also have a small board design suggestion (it's a rather easy and straightforward task for anyone with a simple soldering iron), that it might help avoid erase/damage of USIfAC's II PIC MCU.
Solder a small 1Kohm resistor as shown here:
IMG_20220322_184919_369.jpg

It's a simple pull up resistor for the MCLR pin of PIC MCU (it is used when you press RESET button). Although an internal weak pull up is enabled, this will give stronger pull up, and possibly prevent accidental damage/erase of PIC MCU. All boards i make from now on, will have this resistor too.

Update installed, and the new CAT command is fantastic :) Can we get the File Manager put in the firmware, as an alternate build w/o the games?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 19:31, 23 March 22
Quote from: Devlin on 19:08, 23 March 22Update installed, and the new CAT command is fantastic :) Can we get the File Manager put in the firmware, as an alternate build w/o the games?

Unfortunately file manager is quite large, ~5-6Kb and PIC's MCU free flash memory, is currently less than 500bytes.  ::)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Nworc on 19:45, 23 March 22
Quote from: ikonsgr- |FORMAT now places sectors in interleaved order (instead of sequential).This will not affect the format time of a disk, BUT,it will offer MUCH faster reading (~100%) and writing (~50%) speeds!

Wow, you were really quick with the update!  Thank you for accepting the feedback.

BTW: Does anybody in this board offer a 3D printing service for the Usifac casing?

I do have more trust if someone from this board is doing that instead of consulting a 3D print service. Also, if someone here owns a 3D printer, he might be interested to do that in order to compensation a little for the cost of the 3D printer. So, anyone?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 10:53, 24 March 22
Quote from: Nworc on 19:45, 23 March 22Wow, you were really quick with the update!  Thank you for accepting the feedback.

Well, fortunately was quite easy! And you can find the modified code here (http://www.cpcwiki.eu/forum/programming/a-small-correction-and-readwrite-perforamnce-boost-for-format-disk-routine)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 21:34, 24 March 22
2 questions:


1) How do I unload a disk image? A hard reset works, but is there also a command so I will see the contents of the USB stick again?

2) is intended, that while I am accessing the USB drive, that the motor does not stop anymore? I am aware that whenever an operation is done, that the motor will also spin, but currently, when I look at the contents of the USB drive with e.g. a CAT, the motor of Drive A starts to spin and does not stop until I load a DSK image. Only then it stops after a few seconds.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 21:59, 24 March 22
Quote from: eto on 21:34, 24 March 221) How do I unload a disk image? A hard reset works, but is there also a command so I will see the contents of the USB stick again?
There is no extra "unload" commmand for dsk images. But if you give:|MG,"  will empty image slot, so practically this is an "unload"  :) .In any case,there is no need to unload a dsk image, you just give a new |MG,"name" command to mount a new image directly! Note also that  you can use |SMG to see current list of all 4 image slots.

Quote from: eto on 21:34, 24 March 222) is intended, that while I am accessing the USB drive, that the motor does not stop anymore? I am aware that whenever an operation is done, that the motor will also spin, but currently, when I look at the contents of the USB drive with e.g. a CAT, the motor of Drive A starts to spin and does not stop until I load a DSK image. Only then it stops after a few seconds.
If you are using dsk images, then it's normal to hear Disk motor (if there is a floppy disk insterted of course). Motor activation is done using a different port which i don't mess with it at all. As FDC emulation is done in "low level" (USIFAC "speaks" with 765 Floppy controller directly), motor activation is done automatically either by custom loaders or by  AMSDOS disk routines.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 22:22, 24 March 22
Quote from: ikonsgr on 21:59, 24 March 22
Quote from: eto on 21:34, 24 March 221) How do I unload a disk image? A hard reset works, but is there also a command so I will see the contents of the USB stick again?
There is no extra "unload" commmand for dsk images. But if you give:|MG,"  will empty image slot, so practically this is an "unload"  :) .In any case,there is no need to unload a dsk image, you just give a new |MG,"name" command to mount a new image directly! Note also that  you can use |SMG to see current list of all 4 image slots


Quote from: eto on 21:34, 24 March 222) is intended, that while I am accessing the USB drive, that the motor does not stop anymore? I am aware that whenever an operation is done, that the motor will also spin, but currently, when I look at the contents of the USB drive with e.g. a CAT, the motor of Drive A starts to spin and does not stop until I load a DSK image. Only then it stops after a few seconds.
If you are using dsk images, then it's normal to hear Disk motor (if there is a floppy disk insterted of course).

Let me put it another way: Once I loaded I DSK, how can I have direct file access again (e.g. to start the Filemanager again) without doing a hard reset? And MG will not be the best way to deal with it ;-) After |MG," a CAT locks the computer.

Regarding the motor: This is not while accessing a DSK. I know that there it's normal for a few seconds. I am talking about a motor that spins for minutes. This is after switching to USB and then doing a normal CAT. 


I mean in (4) it literally never stops. I just recognised it as I was sitting at my PC when I realised that I hear a buzzing sound behind me, coming from the CPC. The floppy drive motor was still spinning several minutes after I tried out the new firmware. I guess this will eventually kill the drive, if it's accidentally not recognised. 

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 22:44, 24 March 22
one further issue:

With Filemanager the computer locks, when I try to enter certain directories. with |cd everything works fine, but with the filemanager, it's completely dead and requires a hard reset. I tried with the contents of File Manager.zip and new_file_manager.zip


I could replicate this on 2 different computers (CPC 6128 and Plus 6128). Also the endless spinning motor is happening on both systems.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 23:37, 24 March 22
Quote from: eto on 22:22, 24 March 22Let me put it another way: Once I loaded I DSK, how can I have direct file access again (e.g. to start the Filemanager again) without doing a hard reset? And MG will not be the best way to deal with it ;-) After |MG," a CAT locks the computer.
Just give: |EN ,this will automatically disable FDC emulation and enable the direct file access. Giving again |FDC will re-enable dsk image access  ;)

Quote from: eto on 22:22, 24 March 22Regarding the motor: This is not while accessing a DSK. I know that there it's normal for a few seconds. I am talking about a motor that spins for minutes. This is after switching to USB and then doing a normal CAT.
  • turn on computer
  • |USB
  • cat
  • motor turns on and NEVER turns off while in this mode
  • once a DSK is loaded, motor turns off after 5 seconds.
I mean in (4) it literally never stops. I just recognised it as I was sitting at my PC when I realised that I hear a buzzing sound behind me, coming from the CPC. The floppy drive motor was still spinning several minutes after I tried out the new firmware. I guess this will eventually kill the drive, if it's accidentally not recognised.

 Indeed, this seems to be a bug with CAT, |CAT commands. Thanks for noting, i'll see to it and fix it.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 23:46, 24 March 22
Quote from: eto on 22:44, 24 March 22one further issue:
With Filemanager the computer locks, when I try to enter certain directories. with |cd everything works fine, but with the filemanager, it's completely dead and requires a hard reset. I tried with the contents of File Manager.zip and new_file_manager.zip
I could replicate this on 2 different computers (CPC 6128 and Plus 6128). Also the endless spinning motor is happening on both systems.
With filemanager you should use new board version (respond no-'n' at the initial question),unless you have rev.6c (e.g. choose old board version ,respond yes-'y' at the initial question).
With new filemanager, you should use old board version unless you have rev.6c
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 00:15, 25 March 22
Quote from: ikonsgr on 23:46, 24 March 22With filemanager you should use new board version (respond no-'n' at the initial question),unless you have rev.6c (e.g. choose old board version ,respond yes-'y' at the initial question).
With new filemanager, you should use old board version unless you have rev.6c
I have updated the firmware to rev 6.c just yesterday.

I have now tried new filemanager and old filemanager with yes and no to the inital question. There is no combination anymore that is working properly.


I now flashed 6b and it's different but not better:

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 07:46, 25 March 22
@ikonsgr 

Hi John
Do we stay with 6b at the moment ?

Keep Safe

Ray
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 12:42, 25 March 22
@eto, @Audronic  Ok,i think now all problems are fixed. I've updated the hex file:
https://www.dropbox.com/s/vkpcuurofhrfsej/18f47q10_6c.zip?dl=0
Feel free to test it, and verify that disk motor enable problem when give CAT,|CAT commands, and filemanager problems are fixed.

p.s. thanks eto for the "beta testing" ;-)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 13:24, 25 March 22
Quote from: ikonsgr on 12:42, 25 March 22p.s. thanks eto for the "beta testing" ;-)

I'm happy if I can help ;-) 
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: shacpc on 16:53, 25 March 22
Quote from: ikonsgr on 12:42, 25 March 22@eto, @Audronic  Ok,i think now all problems are fixed. I've updated the hex file:
https://www.dropbox.com/s/vkpcuurofhrfsej/18f47q10_6c.zip?dl=0
Feel free to test it, and verify that disk motor enable problem when give CAT,|CAT commands, and filemanager problems are fixed.

p.s. thanks eto for the "beta testing" ;-)

hi john, those of us who have the first 6c should update again?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 20:29, 25 March 22
Quote from: shacpc on 16:53, 25 March 22hi john, those of us who have the first 6c should update again?

 Well,since none of the problems is critical, i suppose you can use the previous rev.6c. But if you can update the firmware, it's always best to have latest firmware installed.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: shacpc on 21:58, 25 March 22
Quote from: ikonsgr on 20:29, 25 March 22
Quote from: shacpc on 16:53, 25 March 22hi john, those of us who have the first 6c should update again?

 Well,since none of the problems is critical, i suppose you can use the previous rev.6c. But if you can update the firmware, it's always best to have latest firmware installed.
ok, updated again without issue.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 23:38, 25 March 22
@ikonsgr 
Cat For John.jpg
Hi John

6c has some small concerns.

If I run FM the, Press "N"  and then try to go back to Basic the "Escape Key" appears to be Disabled ?

I use a "MAC" computer to transfer files to the USB Stick.
A New concern is that the "Hidden" Files that the MAC creates now show as directory entries ?

Photo " Cat For John"

Keep Safe

Ray
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 10:47, 26 March 22
Quote from: Audronic on 23:38, 25 March 22If I run FM the, Press "N"  and then try to go back to Basic the "Escape Key" appears to be Disabled ?
File manager is not a Basic program. It has some Basic parts (initial loader and final action after pressing RETURN are in BASIC), but main code is a binary, and as you probably know, you can't "Escape" when running a binary program. In any case,the proper way to return to basic from filemanager is reset Amstrad

Quote from: Audronic on 23:38, 25 March 22I use a "MAC" computer to transfer files to the USB Stick.
A New concern is that the "Hidden" Files that the MAC creates now show as directory entries ?
This sounds like the known problem with "Archive" flag (check readme.txt in filemanager archive). You should remove the "archive" flag property, from all files/directories,then all directories will be shown properly, although i don't know if MAC messes up with other flags too that might need correction....  ::)

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 11:47, 26 March 22
any news for CAT2 ?

maybe something |sizeof,"file" ?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 13:21, 26 March 22
Quote from: Fran123 on 11:47, 26 March 22maybe something |sizeof,"file" ?
Yes,i think i can add a small RSX command like: |SIZE,"NAME" to get size of file.
For now, i discover another bug (and updated REV6c hex file), although this probably would affect very few people: SAVE file, using direct PC connection, didn't work...  ::)
This last fw update seems very hard to get it right....  ;D  Hope this time will not have any further problems...
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 13:45, 26 March 22
doesn't save"file" work?   :o
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 16:17, 26 March 22
Quote from: Fran123 on 13:45, 26 March 22doesn't save"file" work?   :o
Only for direct connection with a PC (and i've already fix it). Save to USB flash drive worked fine  :)
btw, i'm already working on the "size of file" RSX command... ;-)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 22:52, 26 March 22
 
 



Quote from: Audronic on 23:38, 25 March 22I use a "MAC" computer to transfer files to the USB Stick.
A New concern is that the "Hidden" Files that the MAC creates now show as directory entries ?
This sounds like the known problem with "Archive" flag (check readme.txt in filemanager archive). You should remove the "archive" flag property, from all files/directories,then all directories will be shown properly, although i don't know if MAC messes up with other flags too that might need correction....  ::)

Hi John
Pressing "1" does not remove the entries for on the screen for |cat - Cat

I am going back to 6b 

Thanks 
Keep Safe

Ray

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 18:47, 27 March 22
Ok,i just finish the |SIZE command and add it to a new firmware rev. 6d: https://www.dropbox.com/s/kurhjh7loyktytu/18f47q10_6d.zip?dl=0
Usage is very simple: |SIZE,"filename" will give you the size of file in bytes.
Memory address &A000 (less significant decimal digit first) holds the size in ascii decimal form, if anyone wants to use it in a program.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 21:12, 27 March 22
Tried 6d right now and the previously reported issues have gone. I have found 4 further issues:

1) After switching to USB mode (|USB) |DIR will still try to access Drive A but has issues and after several seconds it shows catalogue but always 158K free (CPC 6128 and 6128+)
2) After mounting a DSK and then doing a RESET, USB is still active. When typing |USB and then doing a CAT, computer hangs forever. (CPC 6128 and 6128+)
3) After |USB and as long as now DSK image has been mounted, a reset on 6128+, computer resets and shows "press play then any key" (6128+)
4) after a DSK has been mounted and program has been startet, a reset results in a halted computer during startup or an endless loop or screen is corrupted (6128+)

3 and 4 I find especially surprising as, as long as no DSK image has been mounted, a Reset will properly work.

Replicate:
3) start computer, type |USB, Reset => computer resets and shows "press play then any key"
X) start computer,, type |USB, mount DSK with Filemanager, RESET => computer resets properly and DSK can be accessed
4) start computer, type |USB, mount DSK with Filemanager, run program, RESET => computer hangs with corrupted screen/endless loop

See screenshots attached
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 22:00, 27 March 22
Quote from: eto on 21:12, 27 March 221) After switching to USB mode (|USB) |DIR will still try to access Drive A but has issues and after several seconds it shows catalogue but always 158K free (CPC 6128 and 6128+)
This symptom doesn't have to do with rev.6d, most probable you will get the same behavior with any firmware version. |DIR is not supported by USIFAC's direct mode function, so you should only use it when FDC emulation is active  (e.g. after enabling |FDC).

Quote from: eto on 21:12, 27 March 222) After mounting a DSK and then doing a RESET, USB is still active. When typing |USB and then doing a CAT, computer hangs forever. (CPC 6128 and 6128+)
Reset doesn't disable USB activation, only FDC emulation is disabled. So,if you power Amstrad,give |USB,mount a DSK image,reset,and then you give again |USB, it will disable USB host module,thus any CAT,LOAD,RUN,SAVE command will be redirected to disk drive. The "hang forever" symptom, is usually caused, when you use an external 3.5" drive with a ribbon cable (that probably has READY signal always activated), so, if USB mode is disabled, and no disk is inserted, amstrad will hang forever waiting for a floppy disk to be inserted...  ::)

Quote from: eto on 21:12, 27 March 223) After |USB and as long as now DSK image has been mounted, a reset on 6128+, computer resets and shows "press play then any key" (6128+)
4) after a DSK has been mounted and program has been startet, a reset results in a halted computer during startup or an endless loop or screen is corrupted (6128+)
Unfortunately i don't own an Amstrad plus, so USIfAC II does not "officialy" support Amstrad plus. AFAIK (according to people tested USIfAC II with Amstrad plus) it seems that, at least direct file functions work ok, and FDC emulation works using |464 (like with CPC464). So, can you confirm that direct file access and dsk image access using |464 works ok with fw rev.6d on 6128+? Because, apart from that, i'm afraid i can't guarantee that any other function works on Amstrad plus.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 22:40, 27 March 22
Quote from: ikonsgr on 22:00, 27 March 22The "hang forever" symptom, is usually caused, when you use an external 3.5" drive with a ribbon cable
That USB is still active is OK, no problem there. That was just for clarification how I get to the problem where it hangs forever. No external drive is connected, it's a plain Amstrad 6128 with only USIFAC II connected.

I will check |464 next time I sit at the 6128+.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 23:09, 27 March 22
Quote from: ikonsgr on 22:00, 27 March 22using |464
DSK image access and direct file access works without |464. It's just that a resets leaves the 6128+ in some weird invalid state. Something seems to go wrong during initialization then.

|464 does not help. Actually it has bad impact. 6128+ resets and no USIFAC rom is initliazed anymore. |USB is no longer available and CAT will halt the computer.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: shacpc on 01:15, 28 March 22
Quote from: ikonsgr on 18:47, 27 March 22Ok,i just finish the |SIZE command and add it to a new firmware rev. 6d: https://www.dropbox.com/s/kurhjh7loyktytu/18f47q10_6d.zip?dl=0
Usage is very simple: |SIZE,"filename" will give you the size of file in Kb. It supports file sizes from 1k up to 16Mb. For smaller sizes will show:'<1K'
Memory address &A920-&A924 (most significant decimal digit first) holds the size in ascii decimal form, if anyone wants to use it in a program.
updated. thanks! @ikonsgr for your work and the time you spend improving and perfecting this wonderful toy for the amstrad  :P
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 07:47, 28 March 22
Quote from: eto on 23:09, 27 March 22|464 does not help. Actually it has bad impact. 6128+ resets and no USIFAC rom is initliazed anymore. |USB is no longer available and CAT will halt the computer.

 When you perform |464, Amstrad loads amsdos or parados (selected using |DOS command) from USIfAC ROM, and after it resets, you can only access the selected image, USIfAC is not initialized again so you will not get any boot message. Anyway, it's good to know that FDC emulation works with 6128+  directly, using |FDC, like with  6128  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 08:10, 28 March 22
And here (https://www.dropbox.com/s/snac77wqxud16t4/Actualizaci%C3%B3n%20del%20firmware%20de%20USIfAC%20II.pdf?dl=0) you can find the firmware update guide in Spanish (Thanks Fernando  :) )
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 08:41, 28 March 22
Quote from: ikonsgr on 18:47, 27 March 22Ok,i just finish the |SIZE command and add it to a new firmware rev. 6d: https://www.dropbox.com/s/kurhjh7loyktytu/18f47q10_6d.zip?dl=0
Usage is very simple: |SIZE,"filename" will give you the size of file in Kb. It supports file sizes from 1k up to 16Mb. For smaller sizes will show:'<1K'
Memory address &A920-&A924 (most significant decimal digit first) holds the size in ascii decimal form, if anyone wants to use it in a program.

Is it possible to retrieve the size in bytes instead of kilobytes?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 12:06, 28 March 22
Quote from: Fran123 on 08:41, 28 March 22Is it possible to retrieve the size in bytes instead of kilobytes?

 Done! Now size is shown directly in bytes  :)
Mem address @a000 holds the number of bytes in ascii decimal form (&a000 has the less significant decimal digit)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: issalig on 12:44, 28 March 22
I am thinking about doing a memory dump and save it into .sna.

Would it be possible to do it with USIFAC2?
My idea is to wire a button to RE1 which is the only free pin and from GCB read the entire memory and registers but I need to read more about sna. (https://www.cpcwiki.eu/index.php/Multiface_II#How_did_it_work.3F)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Mark_wllms on 16:28, 28 March 22
I think you would also need to monitor ports to track eg the CRTC state, which is what multiface is doing before activated. Not sure USIFAC capable of doing that.


Quote from: issalig on 12:44, 28 March 22I am thinking about doing a memory dump and save it into .sna.

Would it be possible to do it with USIFAC2?
My idea is to wire a button to RE1 which is the only free pin and from GCB read the entire memory and registers but I need to read more about sna. (https://www.cpcwiki.eu/index.php/Multiface_II#How_did_it_work.3F)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 16:30, 28 March 22
Quote from: issalig on 12:44, 28 March 22I am thinking about doing a memory dump and save it into .sna.
Would it be possible to do it with USIFAC2?
My idea is to wire a button to RE1 which is the only free pin and from GCB read the entire memory and registers but I need to read more about sna. (https://www.cpcwiki.eu/index.php/Multiface_II#How_did_it_work.3F)
When i first involved with snapshot file handling,i thought to use NMI to manage the writing of a snapshot. Unfortunately, taking a snapshot is not so easy task. Apart from memory dump, you need to know the exact values of all CPU registers, GA registers, 8255 I/O Registers, CRT6845 Controller registers, along with current state and selection of upper/lower rom, and RAM configuration.
In order to know all of the above information, you need to constantly watch and record "on the fly", several ports that write values to various registers,control  ROM selection,RAM configuration etc. Unfortunately, this is something that can't be handled by the rather limited abilities of Configurable Logic Cells of a PIC MCU, and probably require the use of a CPLD (https://en.wikipedia.org/wiki/Complex_programmable_logic_device) (or a "monster" MCU like the 32bit Cortex M4 used in M4 board).
Nevertheless, if you need to take only a memory dump at a specific time, you could do it the way you described (actually this is how i implement dsk swap button, pressing it ,pauses Amstrad momentariliy,  activates main USIFAC code, and after checking of serial port, FDC port, Rom selection  port etc, it finally checks if pin RE3 is low or high, and executes the disk image swap code  ;)  )
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: d_kef on 21:05, 28 March 22
Last week I was trying to do some tests for the new HDCPM version that will support USIfAC only to find out that my USIfAC II was having troubles working together with my ROM board. |USB was working but CAT or |CAT was resulting in CPC freezing.
I thought that there was something wrong with the ROM board and not having much time I decided to leave it for  another day.
Today I saw that there was a new firmware and I thought I'd give it a try.
To my surprise everything works perfectly with version 6d. I even managed to test (successfully) the new HDCPM drivers.

Thanks ikonsgr

d_kef
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 00:22, 29 March 22
@d_kef  You mean that soon we will be able to use CP/M plus (https://www.cpcwiki.eu/forum/applications/hdcpm-boot-and-run-cpm-plus-from-hard-disk/) with USIfAC II?  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 07:51, 29 March 22
Quote from: d_kef on 21:05, 28 March 22Last week I was trying to do some tests for the new HDCPM version that will support USIfAC only to find out that my USIfAC II was having troubles working together with my ROM board. |USB was working but CAT or |CAT was resulting in CPC freezing.
I thought that there was something wrong with the ROM board and not having much time I decided to leave it for  another day.
Today I saw that there was a new firmware and I thought I'd give it a try.
To my surprise everything works perfectly with version 6d. I even managed to test (successfully) the new HDCPM drivers.

Thanks ikonsgr

d_kef

6b firmware was very unstable, at least for me
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: d_kef on 08:27, 29 March 22
Quote from: ikonsgr on 00:22, 29 March 22@d_kef  You mean that soon we will be able to use CP/M plus (https://www.cpcwiki.eu/forum/applications/hdcpm-boot-and-run-cpm-plus-from-hard-disk/) with USIfAC II?  :)
Sooner than you think... :P

d_kef
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 13:13, 29 March 22
Quote from: d_kef on 08:27, 29 March 22
Quote from: ikonsgr on 00:22, 29 March 22@d_kef  You mean that soon we will be able to use CP/M plus (https://www.cpcwiki.eu/forum/applications/hdcpm-boot-and-run-cpm-plus-from-hard-disk/) with USIfAC II?  :)
Sooner than you think... :P

d_kef


It would be possible to put CPM in Usifac instead the games?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: d_kef on 13:34, 29 March 22
QuoteIt would be possible to put CPM in Usifac instead the games?
No.
You can have your games AND CP/M Plus together in the same USB pen drive and use them at will. :D

d_kef
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 13:51, 29 March 22
Quote from: d_kef on 13:34, 29 March 22You can have your games AND CP/M Plus together in the same USB pen drive and use them at will.
There are 3 games in the USIFAC ROM. Fran123's request was to replace that with a CP/M ROM.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: d_kef on 14:04, 29 March 22
Quote from: eto on 13:51, 29 March 22
Quote from: d_kef on 13:34, 29 March 22You can have your games AND CP/M Plus together in the same USB pen drive and use them at will.
There are 3 games in the USIFAC ROM. Fran123's request was to replace that with a CP/M ROM.
That's a question for @ikonsgr then.
HDCPM (https://www.cpcwiki.eu/forum/applications/hdcpm-boot-and-run-cpm-plus-from-hard-disk/) don't do that.

d_kef
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 17:04, 29 March 22
I asked because in 
a CPM hard disk bootloader appears.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: d_kef on 17:23, 29 March 22
Quote from: Fran123 on 17:04, 29 March 22I asked because in
a CPM hard disk bootloader appears.

Well HDCPM's code is just under 9K long but it's up to ikonsgr to say if it is possible to replace one or more games with it.
Normally you need a ROM board to install it.

d_kef
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: zhulien on 17:27, 29 March 22
are any more usifac 2's going to be made?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 18:11, 29 March 22
anyone have update to version 6d?

I get a lot of problems, my CPC gets crazy, I wrote twice the firmware.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 18:38, 29 March 22
Quote from: Fran123 on 18:11, 29 March 22anyone have update to version 6d?

I get a lot of problems, my CPC gets crazy, I wrote twice the firmware.
sorry, bad connection
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 19:22, 29 March 22
Quote from: zhulien on 17:27, 29 March 22are any more usifac 2's going to be made?
Yes, give me a note at: ikonsgr745@hotmail.com
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 19:26, 29 March 22
Quote from: d_kef on 17:23, 29 March 22Well HDCPM's code is just under 9K long but it's up to ikonsgr to say if it is possible to replace one or more games with it.
Normally you need a ROM board to install it.
d_kef
If this code is an exacutable binary from specific memory address, then i suppose i can add the code into PIC's flash memory and use it with a simple RSX command (as with the 3 build-in games). But if code requires to be in rom, i'm afraid you must use a rom board for it.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: d_kef on 19:50, 29 March 22
Quote from: ikonsgr on 19:26, 29 March 22If this code is an exacutable binary from specific memory address, then i suppose i can add the code into PIC's flash memory and use it with a simple RSX command (as with the 3 build-in games). But if code requires to be in rom, i'm afraid you must use a rom board for it.
ROM board it is then!

d_kef
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 08:37, 30 March 22
About format:

I suggest a command like |format,"<drive>","<format>"

<drive> = A|B
<format> = S|D  (system|data)

And writing |format,"A","D" you format the disc in drive A with Data format, and when it finish return to command line.
That way, it's more ccmmand line style.

Now, you write |format and the program ask you the drive and format, and when it finish ask you again and you can't stop the program.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 08:47, 30 March 22
Quote from: Fran123 on 08:37, 30 March 22About format:
Oh I like that! 

Or even better: if you add the options, then it doesn't ask. And if there are no options, it asks.

Returning to BASIC should be possible. I have modified the original source to return to BASIC when pressing ESC instead of A or B.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 17:53, 30 March 22
New commands should be compatible to already existing DOS imho. Here the Dobbertin X-DDOS has the most intuitive and meaningful syntax.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 18:47, 30 March 22
Quote from: GUNHED on 17:53, 30 March 22New commands should be compatible to already existing DOS imho. Here the Dobbertin X-DDOS has the most intuitive and meaningful syntax.
I would agree if that is 1) a standard on the CPC (means, all or most DOS already use the same command+parameters) and 2) if it would be documented. The Wiki page for X-DDOS has the ROMs but no documentation. Google has also lots of links to the ROM but also no link to a documentation. 
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Mark_wllms on 11:28, 31 March 22
Anyone using the USIFAC II might be interested in the following collection of compatible games for the M4 expansion, all unpacked into folders.

https://www.spinpoint.org/CPC_games_reviewedAA.zip

There is more detail in this thread (https://www.cpcwiki.eu/forum/technical-support/the-compatibility-of-the-m4-card/).
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: genesis8 on 14:41, 31 March 22
Quote from: Nworc on 19:45, 23 March 22BTW: Does anybody in this board offer a 3D printing service for the Usifac casing?

I do have more trust if someone from this board is doing that instead of consulting a 3D print service. Also, if someone here owns a 3D printer, he might be interested to do that in order to compensation a little for the cost of the 3D printer. So, anyone?

I can do it for the price of filament (estimated by the slicer program) and shipping cost rounded to the upper euro, if no one offered first.

I can print in white, black, and the blue and yellow of the Amstrad screen.

Just send me a PM and I will send you my paypal address if you use it also.

I will of course need the stl file to print;
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 23:13, 31 March 22
Quote from: genesis8 on 14:41, 31 March 22
Quote from: Nworc on 19:45, 23 March 22BTW: Does anybody in this board offer a 3D printing service for the Usifac casing?

I do have more trust if someone from this board is doing that instead of consulting a 3D print service. Also, if someone here owns a 3D printer, he might be interested to do that in order to compensation a little for the cost of the 3D printer. So, anyone?

I can do it for the price of filament (estimated by the slicer program) and shipping cost rounded to the upper euro, if no one offered first.

I can print in white, black, and the blue and yellow of the Amstrad screen.

Just send me a PM and I will send you my paypal address if you use it also.

I will of course need the stl file to print;

Very nice work indeed! This might also help to imrpove compatibility with CPC 464, as all games are in direct fast accessed files, instead of bulky and slow dsk images!  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: d_kef on 09:37, 08 April 22
HDCPM for USIfAC II is now available !!! (https://www.cpcwiki.eu/forum/applications/hdcpm-boot-and-run-cpm-plus-from-hard-disk/msg214574/#msg214574)

d_kef
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 10:29, 08 April 22
Quote from: d_kef on 09:37, 08 April 22HDCPM for USIfAC II is now available !!! (https://www.cpcwiki.eu/forum/applications/hdcpm-boot-and-run-cpm-plus-from-hard-disk/msg214574/#msg214574)

d_kef
Can we use CPM on UsifacII?     
Do you have a video?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: d_kef on 11:46, 08 April 22
Quote from: Fran123 on 10:29, 08 April 22Can we use CPM on UsifacII?   
Do you have a video?
I'll try to make one as soon as I find some time. But it is indeed working (at least with my USIfAC II and my ROM board).

If you want to see what it looks like this video (https://youtu.be/nxow6Y5O4Dc) might help. It's taken from WinAPE emulating SF2 but the feeling is exactly the same.

d_kef
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 12:37, 08 April 22
Damn!!  I haven't got any ROM board  :(

After that, a command like SCREEN would be incredible!!
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: d_kef on 13:07, 08 April 22
Well I hope @ikonsgr will soon have his ROM/RAM board ready so you can get one.

d_kef
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 19:41, 08 April 22
Quote from: d_kef on 13:07, 08 April 22Well I hope @ikonsgr will soon have his ROM/RAM board ready so you can get one.

  Designing a RAM/ROM board prooved to be much more complicated/difficult ,from hardware perspective, than USIfAC II (which needed MUCH more work in software development). Although main RAM expansion part of the board, is ready and working on all cpc models since late 2021, the rom counterpart (especially the functionality of having upper&lower rom enabled together),and also the "dual mode" of having 256K ram + one (or maybe two) roms working together,needed a lot of PCB redesign (and partly PIC MCU software reprogram too).
I finally managed to make everything work right a few weeks ago, but then i discovered a possibly design fault with board,as i encountered a lot of functional problems especially with CPC 6128.Most probable,the much larger size of pcb board (resulting in much longer PCB signal traces than with USIfAC II board) caused problems, due to added trace resistances and maybe increased differential impendence between various data and address bit lines. So i've decided to increase the basic line widths and also use 2oz copper thickness (instead of the standard 1oz), which will greatly reduce all line resistances and hopefully resolve the problems.
I'm currently waiting for the new boards for testing, most probable i will have them by the end of month.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 10:12, 13 April 22
Hello

If the PIC18F47Q10 has 128k of program memory flash and the UsifacII program for the PIC is about 80K (more or less calculated).   Would it be possible to store other roms?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 11:32, 13 April 22
Quote from: Fran123 on 10:12, 13 April 22Hello

If the PIC18F47Q10 has 128k of program memory flash and the UsifacII program for the PIC is about 80K (more or less calculated).   Would it be possible to store other roms?
USIfAC II rom has embedded 2 Amstrad roms (amsdos+parados) e.g. 32K, other ~42K are the 3 games, and the rest is the code  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 13:19, 13 April 22
Quote from: ikonsgr on 11:32, 13 April 22USIfAC II rom has embedded 2 Amstrad roms (amsdos+parados) e.g. 32K, other ~42K are the 3 games, and the rest is the code  :)
would it be possible to throw out a game or two and use the space to e.g. include the diagnostics ROM? Or maybe even upload a ROM from the CPC into another 16KB slot? Not sure if I read that correctly, but it seems you can write the flash memory from your code, or did I understand that wrong?

With two remaining pins on the USIFAC it would be easy to "turn on" diagnostics on demand when required or enable/disable the custom ROM with a switch (diagnostics | off | custom). 

With such a feature I guess I would never need a ROM board. 

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 13:33, 13 April 22
Quote from: ikonsgr on 11:32, 13 April 22
Quote from: Fran123 on 10:12, 13 April 22Hello

If the PIC18F47Q10 has 128k of program memory flash and the UsifacII program for the PIC is about 80K (more or less calculated).  Would it be possible to store other roms?
USIfAC II rom has embedded 2 Amstrad roms (amsdos+parados) e.g. 32K, other ~42K are the 3 games, and the rest is the code  :)

I don't think people play to that games. Conversely, two ROMs is more useful.

As Einstein said "wanting is power"
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 16:21, 13 April 22
@eto, @Fran123 you can't load "on demand" a rom (or any data) to PIC's program memory, this is "hard coded" when you flash (e.g. program) PIC MCU with a programmer, using a HEX file. After that,it behaves paractically as a ROM, read only mem.
 Now, i don't think that games are useless, as they give you the unique ability to play a game directly from boot, without needing anything else, just like a mini 8bit game console!
Also,the specific games are 3 of the greatest "all time classics",a space invaders clone, a pacman, and killer gorilla  :)
Anyway, it is very easy to replace the code for 1-2 games with the code of any 16Kb Rom (these are actually big byte tables, inside PIC's program), and execute it using a simple RSX command.
So,if anyone wants a "custom" firmware with extra roms and no games, you can give me the rom you want, and i can create you a custom firmware to "burn" it yourself ;-)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 17:44, 13 April 22
Quote from: ikonsgr on 16:21, 13 April 22you can't load "on demand" a rom (or any data) to PIC's program memory, this is "hard coded" when you flash (e.g. program) PIC MCU with a program
I might not get the full picture, but I thought that section 11 in the data sheet (page 140) describes how it's possible to erase and write the program flash memory:
https://ww1.microchip.com/downloads/en/DeviceDoc/PIC18F27-47Q10-Data-Sheet-40002043E.pdf

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 18:16, 13 April 22
Quote from: eto on 17:44, 13 April 22I might not get the full picture, but I thought that section 11 in the data sheet (page 140) describes how it's possible to erase and write the program flash memory:
https://ww1.microchip.com/downloads/en/DeviceDoc/PIC18F27-47Q10-Data-Sheet-40002043E.pdf
In theory you can indeed write program memory "on the fly",but unfortunately in pracitce, it's way too complicated and time consuming procedure, that didn't seem to work very well.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 21:09, 13 April 22
Quote from: ikonsgr on 16:21, 13 April 22@eto, @Fran123 you can't load "on demand" a rom (or any data) to PIC's program memory, this is "hard coded" when you flash (e.g. program) PIC MCU with a programmer, using a HEX file. After that,it behaves paractically as a ROM, read only mem.
 Now, i don't think that games are useless, as they give you the unique ability to play a game directly from boot, without needing anything else, just like a mini 8bit game console!
Also,the specific games are 3 of the greatest "all time classics",a space invaders clone, a pacman, and killer gorilla  :)
Anyway, it is very easy to replace the code for 1-2 games with the code of any 16Kb Rom (these are actually big byte tables, inside PIC's program), and execute it using a simple RSX command.
So,if anyone wants a "custom" firmware with extra roms and no games, you can give me the rom you want, and i can create you a custom firmware to "burn" it yourself ;-)

Is it possible that two extra roms are always placed in the same position in the firmware binary?

If the HEX file doesn't include extra information like CRC, you could replace the roms in the hex and burn new firmware into the pic.

In any case, I note the custom firmwares for the future ;)

Thank you
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 10:43, 14 April 22
@Fran123 i think you misunderstood something: when we refer to USIfAC's ROM or firmware, we don't mean an actual REAL ROM binary, where you can access directly any byte of it. Instead, what we really have, is a rom EMUALTION, through code executed by PIC mcu! As i mentioned earlier, the actual ROMs embedded into PIC's program memory, are big byte tables, which CANNOT be accessed directly, but only through various functions/procedures of PIC's code.
 For example, when you use the amsdos/parados emulation (|464), each call to amsdos rom from amstrad, is "hijacked" by PIC code, which executes a "fetch a byte from amsdos table at desired address" routine, place byte on data bus, and ofcourse disable internal roms.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: shacpc on 11:39, 14 April 22
@ikonsgr I've been testing the latest version of fw6d for a while and it's really fine. doing tests with the game launcher that I am creating, there was a common error in previous fw versions when being in a game and pressing reset to reload another from the start/launcher, the reset restarted the amstrad in the same directory where I had the game and it didn't return to the root. had to turn the amstrad on the switch off and on again. since i upgraded to fw6d, the reset button always goes back to the root directory, so it's completely successful. the loads are fast and the system really looks very stable, so I understand john that this fw could well have been a version 1.0 of your usifacc II. congratulations for your work & support  :P
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: acf76 on 15:44, 14 April 22
Greetings, I'm Alfredo Retrocant, and I'm testing UsifacII in creating a design.
I also want to redesign the board for updates and to be able to integrate the CH376 and wifi module.

I hope to be able to collaborate with the author of the project and in turn thank him for his help and collaboration.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: robcfg on 15:47, 14 April 22
¡Bienvenido, Alfredo!

No solo de Dragones vive el hombre  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 16:21, 14 April 22
Quote from: shacpc on 11:39, 14 April 22@ikonsgr I've been testing the latest version of fw6d for a while and it's really fine. doing tests with the game launcher that I am creating, there was a common error in previous fw versions when being in a game and pressing reset to reload another from the start/launcher, the reset restarted the amstrad in the same directory where I had the game and it didn't return to the root. had to turn the amstrad on the switch off and on again. since i upgraded to fw6d, the reset button always goes back to the root directory, so it's completely successful. the loads are fast and the system really looks very stable, so I understand john that this fw could well have been a version 1.0 of your usifacc II. congratulations for your work & support  :P
Actually the return to root directory upon restart, is a function controlled by you! Just give OUT &FBD1,66 to enable or OUT &FBD1,65 to disable it (and the selection is only needed to be given once, as it will be saved into PIC's EEPROM, so USIfAC will "Remember" your choice even after powering off Amstrad). You can also see the current status of it, by giving |STAT.  And i think this function is present since fw rev.4 or maybe even rev.3
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 18:42, 21 April 22
Hello

Has anyone tried to download a file from internet?

I'm trying it.

I did this little program that it tries to download a web page from HTTP server:

9 MEMORY &7FFF
10 GOSUB 60000 : ' constantes
20 host$="retrocables.es" : port$="80" : page$="/tienda/index.php"
80 'send$="AT+CIPCLOSE" : GOSUB 50000 : GOSUB 50100 : GOSUB 50200
99 '
100 'test
101 send$="AT"+ret$ : GOSUB 50000 : GOSUB 50100 : GOSUB 50200
105 print "press a key" : INPUT nada
110 send$="AT+CIPSTART=^TCP^,^"+host$+"^,"+port$+ret$ : GOSUB 50000 : GOSUB 50100 : GOSUB 50200
120 httpreq$="GET "+page$+" HTTP/1.0"+ret$+ret$: num=LEN(httpreq$) : GOSUB 59900 : send$="AT+CIPSEND="+num$+ret$ : GOSUB 50000 : GOSUB 50100 : GOSUB 50200
125 send$=httpreq$ : GOSUB 50000 : GOSUB 50100 : GOSUB 50200
140 send$="AT+CIPCLOSE"+ret$ : GOSUB 50000 : GOSUB 50100 : GOSUB 50200
998 '
9999 END
39000 '
39001 'connectar
39002 '
39010 send$="AT+CIPSTART=^TCP^,^192.168.1.3^,9876"+ret$
39020 PRINT b$
39030 GOSUB 50000
39040 RETURN
50000 '
50001 'enviar send$
50002 '
50007 addr1=@send$ : tam%=PEEK(addr1) : addr2=PEEK(addr1+2)*256+PEEK(addr1+1)-1
50010 PRINT ">";tam%;send$
50020 FOR nb%=1 TO tam%
50022  vb=PEEK(addr2+nb%)
50023  IF vb=94 THEN vb=34
50030  OUT &FBD0, vb
50040 NEXT
50045 GOSUB 59800
50050 RETURN
50100 '
50101 'recibir en &8000
50102 '
50105 intentos%=0 : tam=0 : addr2=&8000
50120 IF INP(&FBD1)=255 THEN b%=INP(&FBD0) : POKE addr2,b% : addr2=addr2+1 : tam=tam+1 : intentos%=0 : GOTO 50120
50125 intentos%=intentos%+1 : IF intentos%=25 THEN RETURN
50130 GOTO 50120
50140 RETURN
50200 '
50201 'escribir contenido en &8000
50202 '
50210 addr2=&8000-1
50215 PRINT"<";tam;" ";
50220 FOR nb=1 TO tam
50230  vb=PEEK(addr2+nb)
50232  IF vb>31 OR vb=13 OR vb=10 THEN PRINT CHR$(vb);
50234  IF vb<32 AND vb<>13 AND vb<>10 THEN PRINT "{";vb;"}"
50240 NEXT
50245 PRINT
50250 RETURN
59800 '
59801 'pausa
59802 '
59810 FOR n=1 TO 200:NEXT
59820 RETURN
59900 '
59901 ' numero a texto
59902 '
59910 num$=STR$(num) : num$=RIGHT$(num$,LEN(num$)-1)
59920 RETURN
59999 '
60000 'constantes
60001 cc$=CHR$(34)
60002 ret$=CHR$(13)+CHR$(10)
60100 RETURN

And what I get are the images  photo_2022-04-22_07-35-31.jpg and  photo_2022-04-22_07-35-18.jpg


(The numbers between { } are the ascii code.)

And I don't understand the response.

I'm using an ESP01 with AT version 1.3 and SDK 2.0
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 21:00, 21 April 22
Quote from: Fran123 on 18:42, 21 April 22d what I get are:




(The numbers between { } are the ascii code.)
There is nothing to see in your post. 
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 06:37, 22 April 22
Quote from: eto on 21:00, 21 April 22
Quote from: Fran123 on 18:42, 21 April 22d what I get are:




(The numbers between { } are the ascii code.)
There is nothing to see in your post.
I have just upload the images
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 07:07, 22 April 22
That looks like the start is base64 encoded. 

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 07:58, 22 April 22
If  you do a request from PC you don't get something like base64 encoded
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 09:24, 22 April 22
Did you try to use the transparent transmission mode? It should be activated by giving: AT+CIPSEND once. After that, you can send bytes directly without needing to use AT+CIPSEND command,and you also receive bytes without extra headers (the '+ipd,1460:' in the received text is definetely such a header).
Also, don't forget that you must set the serial speed of USIfAC II's UART port to be the same with ESP01 serial port speed. This is usually done automatically, using |WIFI command, but you can set speeds manually, using: |SET command for USIfAC, and: AT+UART_DEF=speed,8,1,0,0 for ESP01. Finally, you can use |COM for initial  set up of ESP01 module and enable transparent mode. After that, you can directly send and receive bytes using &FBD0/&FBD1 ports.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 18:59, 22 April 22
If I send AT+CIPSEND, I get ERROR  :'(
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 09:42, 23 April 22
You must first set CIPMODE to passthrough mode using command AT+CIPMODE=1. Then you can give AT+CIPSEND and you will get: OK
Also, did you try to update esp firmware? Check here: https://www.dropbox.com/s/vkq6ghmf39a0qx7/ESP8266_flasher.zip?dl=0
You can also find all the details, in User's guide in "Configure ESP8266 WiFi Module" section
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 11:13, 24 April 22
I read the ESP01 has 512kb of memory.

Could be it possible to use that memory to store other ROMS?

The process was: at booting CPC read a file on USB, that file has the ROM filename and slot number, and then put the ROM files in ESP01 memory, so the access would be faster

You said you could do custom ROM, but this way is more flexible.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 18:29, 24 April 22
Quote from: Fran123 on 11:13, 24 April 22I read the ESP01 has 512kb of memory.
Could be it possible to use that memory to store other ROMS?
The process was: at booting CPC read a file on USB, that file has the ROM filename and slot number, and then put the ROM files in ESP01 memory, so the access would be faster
You said you could do custom ROM, but this way is more flexible.
I don't recall any commands that allow placing of files in ESP module RAM directly. But even if there is such a procedure, any RAM of the esp module would be only accesible through USIfAC's serial interface. But unfortunately ROMs require real time access to Amstrad's address and data bus, in order to function properly.
 Loading and using rom files, will be done with my upcoming RAM/ROM board,and a future board that will hopefully "merge" USIfAC II and RAM/ROM board into a single board!  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Zeit on 16:46, 05 May 22
I've just received my USIfAC II. I'm truly amazed! It's like a swiss knife and now my Gotek used as B: unit is sitting in a nice place in a shelf  :D.

I have also received the ESP8266 module and its corresponding adapter.
I have some doubts about it that maybe you can explain to me:

1 - The ESP8266 module must be flashed to be used with the Usifac II?
2 - Inside the material that I downloaded there is a folder called "Connect to BBS", where there is a .DSK and a .TXT that indicate flashing with a specific firmware. I guess it will only be in the case of wanting to use the module to connect to BBS
3 - Can the access to the ESP8266 and the USB host module work together? It has happened to me that if I have the ESP8266 connected, I get error messages about the USB, or that the module cannot be found.
I turn on the machine with a USB stick connected and the ESP8266 in place.

Thanks!
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 08:06, 06 May 22
Quote from: Zeit on 16:46, 05 May 221 - The ESP8266 module must be flashed to be used with the Usifac II?
2 - Inside the material that I downloaded there is a folder called "Connect to BBS", where there is a .DSK and a .TXT that indicate flashing with a specific firmware. I guess it will only be in the case of wanting to use the module to connect to BBS
3 - Can the access to the ESP8266 and the USB host module work together? It has happened to me that if I have the ESP8266 connected, I get error messages about the USB, or that the module cannot be found.
1: Esp modules are already flashed with firmware so if they work ok, there is no need to update fw.
2: Yes, this is for connecting to bbs not for general use.
3: Yes you can. First you should set the esp module using |WIFI command. Then,from BASIC,you can use the |USB command,to enable or disable usb host module. When disabled, USIfAC II automatically goes to UART serial mode. You can also use OUT FBD1,8 to disable usb host module and OUT &FBD1,51 to re-enable it. Also, you should change the serial port speed accordingly (using |SET command or OUT &FBD1,X refer to user's guide for required X value for setting various speeds),as USB host modules works only on 1mpbs, while ESP module can work with many different speeds,so when you switch between the 2 modes, you should also re-set the UART port speed accordingly.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 17:56, 08 May 22
Quote from: ikonsgr on 23:57, 08 February 22@Audronic (https://www.cpcwiki.eu/forum/index.php?action=profile;u=1169) You can't verify the code because firmware created with "code protection" flag enabled, thus chip can't be read after flashing it.
@eto (https://www.cpcwiki.eu/forum/index.php?action=profile;u=3625), there are some older firmware available but i don't remember if the 464 reboot process was included or not. In any case, i don't think that the auto boot is causing the problem, there must be some other thing that causes this abnormal behavior. One usual suspect is bad connection, usually at the edge connector, so make sure contacts are clean of dirt/oxidation etc.
Anyway, unfortunately 35+ years old electronics can give you a lot of headaches that sometimes is almost impossible to treat... but then again, is there a cure for aging?  ::) So

So I thought "well, maybe just this computer has an issue" and I sold the 464 and got a new (well, old of course old) one. And guess what: Exactly the same issue. Edge connector properly cleaned.

USIFAC attached to the 464, works fine until I enter |USB and then do a reset a=> the 464 reboots in an endless loop.

The model I have now is identical to the one before (German 464, first mainboard revision, tall keys). If other 464 are not affected, it might be related to this model.

Does anyone have a German 464 (tall keys) with Usifac and can verify if they have the same issue?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 22:46, 09 May 22
You should have bought a 6128 then.  ;) :)
Hope there's a solution for 464 too.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 00:27, 10 May 22
Quote from: eto on 17:56, 08 May 22So I thought "well, maybe just this computer has an issue" and I sold the 464 and got a new (well, old of course old) one. And guess what: Exactly the same issue. Edge connector properly cleaned.
USIFAC attached to the 464, works fine until I enter |USB and then do a reset a=> the 464 reboots in an endless loop.
@eto 
I have 2 CPC464s that I use the USIFAC II on and do not have any problems.
Perhaps there is problem with the USIFAC II
Keep Safe
Ray
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 00:40, 10 May 22
Quote from: Audronic on 00:27, 10 May 22
Quote from: eto on 17:56, 08 May 22So I thought "well, maybe just this computer has an issue" and I sold the 464 and got a new (well, old of course old) one. And guess what: Exactly the same issue. Edge connector properly cleaned.
USIFAC attached to the 464, works fine until I enter |USB and then do a reset a=> the 464 reboots in an endless loop.
@eto
I have 2 CPC464s that I use the USIFAC II on and do not have any problems.
Perhaps there is problem with the USIFAC II
Keep Safe
Ray


I have tested with three different USIFACs. They work fine on a 6128, but they all have the same issues on those 464 machine(s). 

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: shacpc on 16:31, 10 May 22
Quote from: eto on 00:40, 10 May 22
Quote from: Audronic on 00:27, 10 May 22
Quote from: eto on 17:56, 08 May 22So I thought "well, maybe just this computer has an issue" and I sold the 464 and got a new (well, old of course old) one. And guess what: Exactly the same issue. Edge connector properly cleaned.
USIFAC attached to the 464, works fine until I enter |USB and then do a reset a=> the 464 reboots in an endless loop.
@eto
I have 2 CPC464s that I use the USIFAC II on and do not have any problems.
Perhaps there is problem with the USIFAC II
Keep Safe
Ray

I have tested with three different USIFACs. They work fine on a 6128, but they all have the same issues on those 464 machine(s).
I have a CPC464 and a CPC6128 versions from Spain (with Ñ key on the keyboard) and I have no problem with the same USIFACC II device in both. Try to format the USB in default mode and that it does not have more than 2 gb of capacity.Do not use external hard drives or standard USB 3.0 or 3.1, but old 2.0 or microsd adapters that use little voltage.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 00:27, 11 May 22
@eto 
Have you tried a USB Stick with just 2-3 images/programs on the stick

Keep Safe

Ray
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 09:16, 11 May 22
Quote from: Audronic on 00:27, 11 May 22Have you tried a USB Stick with just 2-3 images/programs on the stick
no. Didn't come to my mind it would make a difference if there is anything on the USB stick or not. I don't even have to mount a disk or run a program from the stick. As soon as I execute |USB the problem occurs. But only on the 464s, not on the 6128, not on the Plus.

I can try of course but out of curiosity: Why would the contents of the USB stick make a difference if I don't even use them?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 16:26, 11 May 22
@eto, can you program PIC mcu? I can send you a custom firmware to try and see if it works.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 17:00, 11 May 22
Quote from: ikonsgr on 16:26, 11 May 22@eto, can you program PIC mcu? I can send you a custom firmware to try and see if it works.

Yes, I already programmed several updates. I would be happy to try a custom firmwares. I also try to get another model of the 464 (more recent maybe) to check if it will work with this one. But this probably takes some time ;-)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 17:51, 11 May 22
Quote from: eto on 17:00, 11 May 22Yes, I already programmed several updates. I would be happy to try a custom firmwares. I also try to get another model of the 464 (more recent maybe) to check if it will work with this one. But this probably takes some time ;-)
Ok, try this fw: https://www.dropbox.com/s/osgxv2adxn3maev/18f47q10_6d.zip?dl=0
Does this fixes the problem?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 22:21, 11 May 22
Quote from: ikonsgr on 17:51, 11 May 22Does this fixes the problem?
unfortunately not. It's worse. The 464 now resets after I turn it on and when booting again, it immediately hangs. After a reset it also (always) hangs. So now I can't use it at all on the 464.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 12:57, 12 May 22
Sorry, I'm sure you excluded this, but somehow I have the feeling it could be connected to a power problem (Voltag drop).
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 13:44, 12 May 22
Quote from: GUNHED on 12:57, 12 May 22Sorry, I'm sure you excluded this, but somehow I have the feeling it could be connected to a power problem (Voltag drop).

Yeah... I somehow thought this too, but it's unlikely


Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: pelrun on 14:49, 12 May 22
No, excessive voltage drop is still *entirely* possible.

Inadequate current rating *can* result in the voltage sagging under load, but it's not the only cause and ensuring your PSU is giving out a rock solid 5v is *not* enough.

There's sufficient voltage drop inherent in the CPC itself that the voltage at any particular point on the board can easily be 0.5V or more below the input voltage. And all it takes is for one critical bit of logic to need more voltage than it has at that instant to corrupt a bit and cause a crash.

In some cases, the only way to solve it is the same way the Raspberry Pi's (which had the same issue prior to the 4) did - use a 5.1v or higher input voltage to compensate. My own 6128 only became stable when I adjusted my ctm644 to output 5.3v. It still only ever draws an amp, but the extra 0.3v makes all the difference.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 15:18, 12 May 22
tried with 5.2 and 5.3V: still the same problem

voltage on the USIFAC was then 5V +/- a bit
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 19:11, 25 May 22
What about a CPC464 with FW3.15, Basic 1.1 and 320Kb RAM?  ;D

IMG_20220525_204216_012.jpg
IMG_20220525_204141_726.jpg

FINALLY! After many prototype boards and a lot of tweaking with PIC's CLC's (configurable logic cells) i manage to make a "DUAL" mode that offers 256k RAM and 2 Roms at the same time! And the good thing is that it works with all 4 AMSTRAD CPC's i have (3X6128, 1X464), except from the very old cpc6128 (ver.A from 1985) with 200ns RAM chips, which shows video noise when the 512K SRAM is accessed (maybe i need to make ground traces a bit wider to resolve that issue)
This is the final board:

IMG_20220525_204207_875.jpg

As you can see, size is much more compact (~7cmX10cm), and i've added an extra 5V supply connector, along with a jumper that isolates internal 5v supply from Amstrad, so with jumper on, board is powered from CPC, with jumper off, from external 5v psu.
Now,the 3 basic modes of operation (512K RAM/32X ROM BOARD/DUAL 256K+2XROM) are tested and they seem to work properly, i will have to finish the configuration software for roms (rom board mode and dual mode) and also maybe add a 4th mode for loading cpr files.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 23:08, 25 May 22
Only One Word

YES  ;D

Keep Safe

Ray
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: WacKEDmaN on 04:13, 26 May 22
awesome...i want one!
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 19:35, 29 May 22
Ok, i've made rather extensive tests, and i think that ,in general, the board seems to work ok. Let's give a few more details.
As you probably know, "officially" CPC 464 doesn't support RAM expansions (the main "symptom" is that, whenever you write to external RAM, internal RAM is also written on the same address). But this board uses a "hack", in order to function with a CPC464. In 2 words i suppress MREQ signal whenever a write to external RAM is occured. Although this method seems to work in most cases, testing revealed that there might be some games/applications that don't "like" this hack very well, most notably SYMBOS. So, i installed a small switch on the board that enables/disables the "hack", which is useless for CPC6128 anyway.
Now,i suppose the main usage of such board is with a CPC 464, as it enables running games which require 128k ram. Although many games should work that way, there are games that also require to have a CPC6128 firmware and/or BASIC 1.1 too. And this is where the DUAL mode of having 256k ram + 2 roms prooved to be very useful! By loading 6128 FW+BASIC 1.1 roms along with 256k ram, i managed to load quite a few 128k games that didn't work using only the ram expansion,most notably RTYPE 128 (a particular "grouchy" game with USIFAC II and the RAM/ROM board),on a CPC464! Also, by loading AMSDOS (at rom slot 7), you will be able to access dsk images faster, like with CPC 6128, by using |FDC command instead of |464.
Of course, as with all prototype boards, there are still some issues:
- SYMBOS doesn't load with the "hack" enabled.
- On dual mode, RAMTEST by styx gives errors, and also SYMBOS don't load.
- CPR mode, doesn't seem to function.I've tried ALCON and KLAX, and although roms are loaded to SRAM just fine, and everything is set correctly (internal rom is completely disabled, ROM 0 on SRAM acts like lower rom, all other act as upper roms, also USIFAC II is deactivated too, in order to avoid conflict with roms of the ,cpr), still it doesn't work...
- On the very old cpc 6128 rev.A from 1985, having very slow RAM chips of 200ns, i got video noise whenever the 512K RAM is used (there might be a need to further increase ground/5v supply trace widths...).
One thing that needs further investigation is the compatibility with other boards (for example,M4 by duke) and also verify good functioning of EDGE connector & 50pin dual row connector using various hardware too  ( if problems occur, a further increase of ground/5v supply trace widths might also help).
So, for now, anyone who might want to be a "beta tester" (and have a lot of Amstrad hardware  :) ), can contact to send him a  board in a rather lowe price (i only have 5 or 6 available). Also, it would be great if you already have 512K 8bit SRAM chips (i use Samsung's K6T4008-70ns) to cut costs and also test with other SRAM chips too!  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 07:59, 01 June 22
Quote from: ikonsgr on 19:11, 25 May 22What about a CPC464 with FW3.15, Basic 1.1 and 320Kb RAM?  ;D

>big image snip<

FINALLY! After many prototype boards and a lot of tweaking with PIC's CLC's (configurable logic cells) i manage to make a "DUAL" mode that offers 256k RAM and 2 Roms at the same time! And the good thing is that it works with all 4 AMSTRAD CPC's i have (3X6128, 1X464), except from the very old cpc6128 (ver.A from 1985) with 200ns RAM chips, which shows video noise when the 512K SRAM is accessed (maybe i need to make ground traces a bit wider to resolve that issue)
This is the final board:

>image snip<

As you can see, size is much more compact (~7cmX10cm), and i've added an extra 5V supply connector, along with a jumper that isolates internal 5v supply from Amstrad, so with jumper on, board is powered from CPC, with jumper off, from external 5v psu.
Now,the 3 basic modes of operation (512K RAM/32X ROM BOARD/DUAL 256K+2XROM) are tested and they seem to work properly, i will have to finish the configuration software for roms (rom board mode and dual mode) and also maybe add a 4th mode for loading cpr files.
Could the thread at this point be split into a new usifac(3?)+ram expansion thread as not to drown out the discussion of usifac2 users?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 08:29, 01 June 22
Quote from: Devlin on 07:59, 01 June 22Could the thread at this point be split into a new usifac(3?)+ram expansion thread as not to drown out the discussion of usifac2 users?
Well, up until now, it was only a "project on development", that is close connected with USIfAC II. But from now on it might be a better idea to open a new thread about it  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: shacpc on 06:29, 09 June 22
I have made a pack of games - mostly direct load - for the USIfACC II (fw 6d). It is called LILICPC-USIfACC II Game Launcher and it consists of a replication of almost 3000 games, each one of them having an alphanumeric short code, and which are executed from a USB in FAT32 with a RUN"XXX (XXX the code of the game, without needing to put an extension.) To change the game, we simply press the RESET button of the USIfACC and write again RUN"XXX where XXX would be another code from another game, and so on. Multi-disc games are loaded by disc emulation, which means it won't run directly, disc 1 will automatically open with its file relationship and you'll need to run the launcher file (usually RUN"DISC ). To change discs, open that press the wonderful DSK CHANGE button that Ikonsgr implemented in its latest versions. The games that require the |CPM command are indicated in the list, and after emulating the disk, LILICPC will have to run the game with |CPM

It can be downloaded from the following AMSTRAD POWER telegram channel file repository. There is an instruction file in Spanish & game list in pdf.

https://mega.nz/folder/93pR2KiA#qlkiFakrZhSzmko65EbTWw/folder/pmpEiYBZ

The rar file must be unzipped directly on a USB in FAT32 (min. 2GB in size). In addition, there is a pdf with brief instructions that I will add to and a general list of games with their alphanumeric code.

I will be adding games to the pack bit by bit and improving the project as John (Ikonsgr) improves/expands USIfACC . The pack is perfectly compatible with CPC 464/664/6128. The games that need a minimum of 128K are indicated in the pdf with the list of games.

This pack has cost me six months of time, it has been necessary to go game by game testing each loading system and prioritizing direct loading, which gives such good speed results in USIfACC II. All credits to the authors of the games and to Ikonsgr, creator of USIfACC II.

shacpc /nando
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: WacKEDmaN on 09:47, 09 June 22
nice job shacpc!..that will save alot of time on the 464...

cant wait to get my hands on a USIFAC II...(need cash!) 
...the ram/rom board for it will be awesome too...i just wish it had some more ram
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 10:03, 09 June 22
@shacpc maybe this project would deserve dedicate a new thread for it!  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Mark_wllms on 10:08, 09 June 22
Quote from: shacpc on 06:29, 09 June 22I have made a pack of games - mostly direct load - for the USIfACC II (fw 6d).

Here's a badly translated version of your manual:

LILICPC, game launcher for USIfAC II

1. You will need . . .
- A USB (preferably USB 2.0) formatted to FAT32.
- Download the latest version of LILICPC from the MEGA repository of the AMSTRAD POWER Telegram channel (USIFAC-II / DIRECT LOAD folder)
- A USIfACC II device, updated with its latest 6d firmware and uploaded to GOOGLE DRIVE Latest firmware release (rev6d): 3/27/2022 / 18F47Q10_6d.

2. Preparing the software and device:
- Download LILICPC on your computer. It is a compressed file in .rar Unzip the content of the file in a folder on your PC, because it is not recommended to unzip directly to a USB.
- In the root of the decompressed file, you will find a folder called GAMELIST and there a file called list.pdf. You can open it or print it, to have access to the alphanumeric code of each game, necessary when loading it.
- Insert a USB 1.0 or 2.0 (not 3.0 due to voltage failure with USIfACC II) and format it as FAT32.
- Copy the content of the unzipped file directly to the root of the USB. It will take a few minutes, given the large number of existing microfiles.
- Once the file copy is finished, we safely extract the USB from the PC.
- We connect the USB to the USIfAC II and turn on the CPC.

3. Game running process:
- Once the CPC is turned on, we proceed to introduce the routine
|USB
And press ENTER.
- We look in the Games List for the code of the program we want to run and type it, for example, we see that a game is 01 Abu Simbel Profanation, because in the CPC we will only write
RUN"01
(it is not necessary to put extension) and press ENTER
and the game would start loading.
- This would be the load in general, both for DSK games that have previously been decompressed as SNA files.
- To exit the game and load another one, simply press the RESET button on the USIfACC II and re-enter another game code XXX with the instruction RUN"XXX
- No need to rewrite |USB

4. Games that cannot be run on direct load:
- There are a number of games (particularly multi-DSK) that do not have the possibility of direct execution. In the list of games they are marked with a (DSK).
- In these cases, we start loading the game with its alphanumeric code, but instead of executing it directly, I have created a routine that loads the first DSK with emulation and does a CAT, to be able to see the files of the emulated disk and execute the DISC. BAS or whichever is appropriate.
- In case of needing to be loaded with a |CPM, it is indicated in the Games List
- In the case of multi-disc, with the USIfACC II disc change button (the black button on the left of the device – see image above) you can change from one disc to another. I have previously programmed those disc jumps for this functionality according to whatever in every game.

5. Notes:
- Open application. The list of games is a particular order for my personal preferences, which can be modified. A list of games has been established that obviously prioritizes games in their Spanish version and with pokes.
- Some time ago I made a tutorial in Spanish to easily update the USifACC II, which is also in the Amstrad Power repository on Telegram.
- USE Manual in progress...

shacpc & ikonsgr v7 april 2022
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: shacpc on 10:46, 09 June 22
I think the charging system is ideal.  I tried making menus in basic by themes etc, but in 64k everything was slow.  The ideal thing would be to create a program with a basic search for games by words and thus obtain the loading code without having to look at the list of games in pdf, but I don't have time to develop it.  if someone is encouraged to be perfect, this work is open to everyone to improve it.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 17:14, 09 June 22
Hello,

I take this opportunity to remind you that there is an application menu for UsifacII and M4. You can find it at 
https://github.com/gallegux/menusi (https://github.com/gallegux/menusi)

(https://github.com/gallegux/menusi/blob/main/screenshot.png?raw=true)

Any doubt you have, you can ask me about it.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 19:16, 13 June 22
Quote from: shacpc on 10:46, 09 June 22I think the charging system is ideal.  I tried making menus in basic by themes etc, but in 64k everything was slow.  The ideal thing would be to create a program with a basic search for games by words and thus obtain the loading code without having to look at the list of games in pdf, but I don't have time to develop it.  if someone is encouraged to be perfect, this work is open to everyone to improve it.
Well,if you can provide me a txt output with all the pairs of "code,name", i could make a small windows search utility for it :-)


p.s. The rar file "USIFAC_II_CARGA_DIRECTA.rar" seems to have a problem, it gives me an error when i try to download it.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: shacpc on 21:32, 13 June 22
Quote from: ikonsgr on 19:16, 13 June 22
Quote from: shacpc on 10:46, 09 June 22I think the charging system is ideal.  I tried making menus in basic by themes etc, but in 64k everything was slow.  The ideal thing would be to create a program with a basic search for games by words and thus obtain the loading code without having to look at the list of games in pdf, but I don't have time to develop it.  if someone is encouraged to be perfect, this work is open to everyone to improve it.
Well,if you can provide me a txt output with all the pairs of "code,name", i could make a small windows search utility for it :-)
p.s. The rar file "USIFAC_II_CARGA_DIRECTA.rar" seems to have a problem, it gives me an error when i try to download it.
you have it the .txt in the root directory: listadejuegos.txt

although it may be unnecessary...

I have an update with +300 more games that I will release in July-August. what would be appreciated is that if someone detects an error in the loading of a game, tell me by private message, so as not to occupy more posts than necessary about the game launcher, because for me the main topic of interest is the testing and improvements of the usifacc II device.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 22:38, 13 June 22
@shacpc  Ok, but i can't download the USIFAC_II_CARGA_DIRECTA.rar file, it gives me error (unknown format or damaged file)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 12:04, 14 June 22
Ok, search engine is ready:  ;D

search_en.jpg
 
You can download it from here: https://www.dropbox.com/s/wrepd7pnl79s7t0/lilicpc.zip?dl=0

 Uppon changing of edit box, it returns all games that include the word you entered. You need to enter at least 2 characters (most of "one char" search, return many 100's of results, so it's useless anyway)

Utility is a simple windows 32bit application, so it should run with all windows versions.
Finally,you can easily update the list, by saving the listado.docx as simple txt file (listado.txt) and put it in the same folder with the program.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: shacpc on 21:09, 14 June 22
Quote from: ikonsgr on 12:04, 14 June 22Ok, search engine is ready:  ;D
search_en.jpg
 
You can download it from here: https://www.dropbox.com/s/wrepd7pnl79s7t0/lilicpc.zip?dl=0
 Uppon changing of edit box, it returns all games that include the word you entered. You need to enter at least 2 characters (most of "one char" search, return many 100's of results, so it's useless anyway)
Utility is a simple windows 32bit application, so it should run with all windows versions.
Finally,you can easily update the list, by saving the listado.docx as simple txt file (listado.txt) and put it in the same folder with the program.
fantastic app, john! It works very well! in future LILICPC updates I will include it in the root directory. I think it is the perfect complement to USIFACC II. My intention is to reach 4,000 games before the end of the year.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: shacpc on 19:50, 16 June 22
Incorporated to LiliCPC the LiliCPC Search Engine created by Ikonsgr, in addition to new games (and we already reached 3000!)

The pack is now in .7z compression format, because the .RAR has had problems.

https://mega.nz/folder/93pR2KiA#qlkiFakrZhSzmko65EbTWw/folder/pmpEiYBZ

All credits and thanks to the creators of the games and to @ikonsgr, creator of USIfACC II
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 15:03, 19 June 22
Found an issue with the SAVE command. Fortunately it's not destructive (I didn't lose my original file)
Steps are as follows:


Saving a file with the same filename, but a different extension seems to confuse the CPC/Usifac2 and make it reset.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: shacpc on 18:32, 19 June 22
Quote from: Devlin on 15:03, 19 June 22Found an issue with the SAVE command. Fortunately it's not destructive (I didn't lose my original file)
Steps are as follows:

  • Wrote a listing out of a book and saved it normally(as a BASIC file) as "wordgame.bas"
  • Then wanted a plain-text listing, so did a SAVE"wordgame.txt",A - The CPC thinks about it for a while, then it resets, *not* saving the plaintext file.
  • I tried again, using a different filename SAVE"wordga.txt",A and it saved correctly as plaintext.

Saving a file with the same filename, but a different extension seems to confuse the CPC/Usifac2 and make it reset.
I think Ikonsgr explained it in another post. Save the file with a .BAS or .BIN extension and USIFAC will run it.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 20:19, 19 June 22
Quote from: shacpc on 18:32, 19 June 22
Quote from: Devlin on 15:03, 19 June 22Found an issue with the SAVE command. Fortunately it's not destructive (I didn't lose my original file)
Steps are as follows:

  • Wrote a listing out of a book and saved it normally(as a BASIC file) as "wordgame.bas"
  • Then wanted a plain-text listing, so did a SAVE"wordgame.txt",A - The CPC thinks about it for a while, then it resets, *not* saving the plaintext file.
  • I tried again, using a different filename SAVE"wordga.txt",A and it saved correctly as plaintext.

Saving a file with the same filename, but a different extension seems to confuse the CPC/Usifac2 and make it reset.
I think Ikonsgr explained it in another post. Save the file with a .BAS or .BIN extension and USIFAC will run it.
I'm not having any trouble loading the files - they load just fine.
It's just saving the file with a different extension but same filename that causes issues.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 19:51, 20 June 22
Quote from: Devlin on 15:03, 19 June 22Found an issue with the SAVE command. Fortunately it's not destructive (I didn't lose my original file)
Steps are as follows:

  • Wrote a listing out of a book and saved it normally(as a BASIC file) as "wordgame.bas"
  • Then wanted a plain-text listing, so did a SAVE"wordgame.txt",A - The CPC thinks about it for a while, then it resets, *not* saving the plaintext file.
  • I tried again, using a different filename SAVE"wordga.txt",A and it saved correctly as plaintext.

Saving a file with the same filename, but a different extension seems to confuse the CPC/Usifac2 and make it reset.

Well, actually it's not exactly "same filename with different extension" because using the ',a' argument, file will be saved as ascii text file and not as basic file. :) 
 Saving and loading ascii files take considerably more time than normal bas/bin files (because amstrad access them using fw routines "cas in char" and "cas out char" which read/writes one byte/char at a time...)
Anyway, i try the actions you said and everything worked fine: load a basic file, save it as "wordgame.bas" basic file, and then save it again as "wordgame.txt",a ascii file without problems. Such errors usually have to do with the usb module and the specific usb stick you are using. Try another usb stick and see if this happens again.
btw, which fw version you have? I've tried it with latest (6d), but there might be problems with some older versions, as i recall i correct some issues with ascii files at some point in the past....
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 22:10, 20 June 22
Quote from: ikonsgr on 19:51, 20 June 22Well, actually it's not exactly "same filename with different extension" because using the ',a' argument, file will be saved as ascii text file and not as basic file. :) 
 Saving and loading ascii files take considerably more time than normal bas/bin files (because amstrad access them using fw routines "cas in char" and "cas out char" which read/writes one byte/char at a time...)
Anyway, i try the actions you said and everything worked fine: load a basic file, save it as "wordgame.bas" basic file, and then save it again as "wordgame.txt",a ascii file without problems. Such errors usually have to do with the usb module and the specific usb stick you are using. Try another usb stick and see if this happens again.
btw, which fw version you have? I've tried it with latest (6d), but there might be problems with some older versions, as i recall i correct some issues with ascii files at some point in the past....
That might explain it then, I'm still on 6c - I'll update to 6d and try it again and see what happens.

UPDATE::: Updated to 6d and it behaves as intended now.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 20:47, 24 June 22
I just want to inform you that, as i run low in PIC 18F47Q10 MCU chips, i luckily manage to get a good batch from mouser (Microchip gives delivery times of more than 12months...), but at rather higher prices, so when my current stock is over, there will be some price increase of ~couple of euros.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: wolfgang on 11:56, 28 June 22
Hi ikonsgr,

is the RAM/ROM board already available for ordering? Can it be used together with an existing USIFAC II, or will there be a version which combines both units in one?

greetings from Vienna

Wolfgang
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: entelle42 on 16:39, 28 June 22
Quote from: wolfgang on 11:56, 28 June 22Hi ikonsgr,

is the RAM/ROM board already available for ordering? Can it be used together with an existing USIFAC II, or will there be a version which combines both units in one?

greetings from Vienna

Wolfgang
Hi ikonsgr, same questions as above from Wolfgang  ;D Best. Olivier
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 20:21, 28 June 22
Quote from: entelle42 on 16:39, 28 June 22is the RAM/ROM board already available for ordering?
As i explained in earlier post  (https://www.cpcwiki.eu/forum/index.php?msg=216214) there are still some issues wich hopefully will resolve with the final board design. I believe i will have it in a few days, and if it goes well, i will have some boards available in the next few weeks.

Quote from: entelle42 on 16:39, 28 June 22Can it be used together with an existing USIFAC II,
Ram/Rom board is designed and tested to work together with USIfAC II (and most probable with other boards like M4).

Quote from: entelle42 on 16:39, 28 June 22will there be a version which combines both units in one?
YES!  :)  There will be ideed,an "all in one" board that will combine USIfAC II and RAM/ROM board into one board PLUS added features too! For example, utlities that are currently external programs (loaded from a usb stick), will be incorporated as RSX commands (most notably Filemanager/Filesizemanager). The dual mode will support up to 16 Roms along with 256k ram, which will allow fully conversion of a CPC 464 to a CPC6128, having CPC6128 fw,basic 1.1 AND amsdos/Parados rom! I intend to offer this as a simple rsx command, in order to instantly convert your CPC464 to CPC6128 with 320k ram!  ;)
But it's a bit early  for this, as i suppose it will take a few months to have a real working board. For now, this is a small "teaser":
ulifac1.jpg
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: wolfgang on 21:42, 28 June 22
Thanks for the update ikonsgr, I will be patient :D
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: entelle42 on 21:47, 28 June 22
Thank you ikonsgr !! And greetings for ULIfAC 8)  :D Of course I'm in  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 10:37, 29 June 22
Quote from: WacKEDmaN on 23:39, 28 June 22ive just got my hands on a USIFAC II...
im having issues with it tho...
|stat command works and shows..

Serial Port Speed:1000000
Interface Rom Number: 5 (Rev.6d)
Direct Mode: off
765 FCD Emulation: off
USB device emulation: off
DOS emulation:PARADOS

|help loads a mode 2 screen...then instantly resets the system... NO commands work after this reset

|USB locks up the system
|gala |pacman |kgor all lock up the system (just nothin happens and system is unusable until its reset switched off and back on)

|464 sends it into a never ending bootloop
|EN throws pixels to the screen and locks up...

ive tried with both original 464 Rom...and modded BASIC 1.1.. both acting the same...

it also doesnt show "USIFAC II Enhanced" on boot...

edit: and now no command works...even after full power down and replug of USIFAC...
i dont get it!...and i dont have a programmer to reflash the PIC :(

edit2: after giving out &fbd2,5 again..its accepting commands, but still locking up (in built games, and |usb lockup, |464 bootloops forever)
still no "USIFAC II Enhanced" displaying on boot

edit3: if i send out &fbd1,51 and then check |Stat, it says USB is enabled, but |CAT doesnt work after this...
i see eto is having the same issues a few pages back
heres a vid of whats happening...
<video go snip snip>

This looks and stinks like a power issue - clean your power switch and the power jack on the back of the CPC and see if that helps?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 11:29, 29 June 22
Quote from: WacKEDmaN on 11:00, 29 June 22already done... the power switch is brand new (like a month old)..and non standard...
cleaned the (as new) edge connector (this is a new board, the fingers are PERFECT)
..ive increased voltage from power supply.. up to 5.5v... (ICs showing 5.2v).. ..the power supply is showing 1.07A being pulled (1.05A without USIFAC)... the power supply can drive an overclocked raspberry pi2 perfectly fine (driving up to 3A no issue)
i could try bumping the voltage some more...but im worried ill fry something with any more voltage (the gate array is getting very warm at the higher voltage)
I notice that the USIfAC2's ROM string isn't showing up. What version firmware do you have on it?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 11:53, 29 June 22
It's similar but different from my case. I do get the Usifac boot message.

How can it be, that there is no boot message, but still the ROM is initialised?

I tried 2 different 464s and 3 different Usifacs,  4 different power supplies and bumped voltage up top 5.2V so the voltage at the Usifac was still 5V.

I also looked into the ROM code, but could not see anything that should the USIFAC from booting. It only happens if |USB has activated the USB.

My hypothesis would now be, that in some 464s, once USB is active, a reset won't properly reset the USIFAC and it doesn't properly respond during reboot, leading to another reset. 
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 15:37, 29 June 22
Sorry for getting off-topic a bit. But it may be of common interest...

So, what is actually the best way to get 5,2 Volts?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 16:23, 29 June 22
Quote from: GUNHED on 15:37, 29 June 22So, what is actually the best way to get 5,2 Volts?
1) official Raspberry power supply has 5.1V
2) The Mean Well power supplies can be adjusted to 5.2V 
3) Some Cisco power supplies provide 5.2V and 12V
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 21:55, 29 June 22
Ah, thanks. Now I see. But how can I take a 5 Volt PSU and get it to be 5,2 Volts?
(Or did I didn't get it?). Sorry for this probably stupid question.  :picard:
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 22:09, 29 June 22
Quote from: GUNHED on 21:55, 29 June 22Ah, thanks. Now I see. But how can I take a 5 Volt PSU and get it to be 5,2 Volts?
(Or did I didn't get it?). Sorry for this probably stupid question.  :picard:
With most power supplies you can't do that. But there are some power supplies where you can adjust the voltage.

I guess the hardware guys all have a benchtop power supply, where you can adjust the voltage and limit the current. You can see such a thing in Noels videos, when he is analysing issues. 

I don't have such a power supply, but I have a MeanWell RD50A where I can adjust the voltage at least slightly with a little screw. Of course no comparison to a benchtop power supply, but I could easily bump it up to 5.2V.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: wolfgang on 13:04, 30 June 22
I made a quite unique case for my USIFAC II, as the edge connector is difficult to remove from the CPC 464 I decided to keep the USIFAC II always attached, therefore the case is inserted into the air flow openings at the top rear of the CPC:

USIFAC II case.jpg

I also installed new buttons as the ones on the board are not accessible any more, its easy as they can be soldered in parallel to the ones on the board. The one on the right (run/stop) is even illuminated when the CPC is powered.

When I will get the new ULIFAC I will make new similar case for it.

greetings

Wolfgang

If anybody is interested I can of course supply .stl and .f3d files
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 17:38, 30 June 22
Quote from: GUNHED on 21:55, 29 June 22Ah, thanks. Now I see. But how can I take a 5 Volt PSU and get it to be 5,2 Volts?
(Or did I didn't get it?). Sorry for this probably stupid question.  :picard:
I think a 5V PSU works, the most important thing is the current is stable.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 17:47, 30 June 22
Sure, but having a MotherX4 with a diode, it would be awesome to have a 5,2 Volt PSU.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: wolfgang on 18:01, 30 June 22
Quote from: shacpc on 06:29, 09 June 22I have made a pack of games - mostly direct load - for the USIfACC II (fw 6d). It is called LILICPC-USIfACC II Game Launcher and it consists of a replication of almost 3000 games, each one of them having an alphanumeric short code, and which are executed from a USB in FAT32 with a RUN"XXX (XXX the code of the game, without needing to put an extension.) To change the game, we simply press the RESET button of the USIfACC and write again RUN"XXX where XXX would be another code from another game, and so on. Multi-disc games are loaded by disc emulation, which means it won't run directly, disc 1 will automatically open with its file relationship and you'll need to run the launcher file (usually RUN"DISC ). To change discs, open that press the wonderful DSK CHANGE button that Ikonsgr implemented in its latest versions. The games that require the |CPM command are indicated in the list, and after emulating the disk, LILICPC will have to run the game with |CPM

It can be downloaded from the following AMSTRAD POWER telegram channel file repository. There is an instruction file in Spanish & game list in pdf.

https://mega.nz/folder/93pR2KiA#qlkiFakrZhSzmko65EbTWw/folder/pmpEiYBZ

The rar file must be unzipped directly on a USB in FAT32 (min. 2GB in size). In addition, there is a pdf with brief instructions that I will add to and a general list of games with their alphanumeric code.

I will be adding games to the pack bit by bit and improving the project as John (Ikonsgr) improves/expands USIfACC . The pack is perfectly compatible with CPC 464/664/6128. The games that need a minimum of 128K are indicated in the pdf with the list of games.

This pack has cost me six months of time, it has been necessary to go game by game testing each loading system and prioritizing direct loading, which gives such good speed results in USIfACC II. All credits to the authors of the games and to Ikonsgr, creator of USIfACC II.

shacpc /nando
Quote from: shacpc on 19:50, 16 June 22Incorporated to LiliCPC the LiliCPC Search Engine created by Ikonsgr, in addition to new games (and we already reached 3000!)

The pack is now in .7z compression format, because the .RAR has had problems.

https://mega.nz/folder/93pR2KiA#qlkiFakrZhSzmko65EbTWw/folder/pmpEiYBZ

All credits and thanks to the creators of the games and to @ikonsgr, creator of USIfACC II

Hi shacpc,

I downloaded LILICPC last version (7z format) but it does not work in my CPC464.
After any RUN command I always get the message "File altready open".
I don't know which Firmware Version I have in my USIFAC II (bought it december last year), could it have to do with the problem? I ordered a PIC kit programmer already and will upgrade my USIFAC when I get it.
What do you think can be wrong?

Greetings

Wolfgang
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 18:25, 30 June 22
Quote from: GUNHED on 17:47, 30 June 22Sure, but having a MotherX4 with a diode, it would be awesome to have a 5,2 Volt PSU.
I don't have any MX4, but it's possible that the diode and a resistor should be in parallel
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: shacpc on 19:11, 30 June 22
Quote from: wolfgang on 18:01, 30 June 22
Quote from: shacpc on 06:29, 09 June 22I have made a pack of games - mostly direct load - for the USIfACC II (fw 6d). It is called LILICPC-USIfACC II Game Launcher and it consists of a replication of almost 3000 games, each one of them having an alphanumeric short code, and which are executed from a USB in FAT32 with a RUN"XXX (XXX the code of the game, without needing to put an extension.) To change the game, we simply press the RESET button of the USIfACC and write again RUN"XXX where XXX would be another code from another game, and so on. Multi-disc games are loaded by disc emulation, which means it won't run directly, disc 1 will automatically open with its file relationship and you'll need to run the launcher file (usually RUN"DISC ). To change discs, open that press the wonderful DSK CHANGE button that Ikonsgr implemented in its latest versions. The games that require the |CPM command are indicated in the list, and after emulating the disk, LILICPC will have to run the game with |CPM
It can be downloaded from the following AMSTRAD POWER telegram channel file repository. There is an instruction file in Spanish & game list in pdf.
https://mega.nz/folder/93pR2KiA#qlkiFakrZhSzmko65EbTWw/folder/pmpEiYBZ
The rar file must be unzipped directly on a USB in FAT32 (min. 2GB in size). In addition, there is a pdf with brief instructions that I will add to and a general list of games with their alphanumeric code.
I will be adding games to the pack bit by bit and improving the project as John (Ikonsgr) improves/expands USIfACC . The pack is perfectly compatible with CPC 464/664/6128. The games that need a minimum of 128K are indicated in the pdf with the list of games.
This pack has cost me six months of time, it has been necessary to go game by game testing each loading system and prioritizing direct loading, which gives such good speed results in USIfACC II. All credits to the authors of the games and to Ikonsgr, creator of USIfACC II.
shacpc /nando
Quote from: shacpc on 19:50, 16 June 22Incorporated to LiliCPC the LiliCPC Search Engine created by Ikonsgr, in addition to new games (and we already reached 3000!)
The pack is now in .7z compression format, because the .RAR has had problems.
https://mega.nz/folder/93pR2KiA#qlkiFakrZhSzmko65EbTWw/folder/pmpEiYBZ
All credits and thanks to the creators of the games and to @ikonsgr, creator of USIfACC II

Hi shacpc,
I downloaded LILICPC last version (7z format) but it does not work in my CPC464.
After any RUN command I always get the message "File altready open".
I don't know which Firmware Version I have in my USIFAC II (bought it december last year), could it have to do with the problem? I ordered a PIC kit programmer already and will upgrade my USIFAC when I get it.
What do you think can be wrong?
Greetings
Wolfgang
Although I only ensure its correct operation with the latest 6D firm, the message that you get is strange. make sure that the USB is in FAT32 and unzip the contents of the USIFAC_II_CARGA_DIRECTA folder in the USB root. The same error is that you place the folder USIFAC_II_CARGA_DIRECTA in the root and no, it is the content that you must put in the USB.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 19:49, 30 June 22
Quote from: wolfgang on 18:01, 30 June 22After any RUN command I always get the message "File altready open".
I think I had this problem too at one point. It was fixed with a firmware update. 
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: wolfgang on 19:53, 30 June 22
The USB stick is formatted with FAT32 and I tried with 2 different USB sticks, I did copy the content in the sticks root directory, not the folder.

Thanks anyway for your reply, I will try again when I have upgraded the USIFAC II to the latest firmware, could be the problem as eto just mentioned.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: shacpc on 21:16, 30 June 22
Quote from: wolfgang on 19:53, 30 June 22The USB stick is formatted with FAT32 and I tried with 2 different USB sticks, I did copy the content in the sticks root directory, not the folder.
Thanks anyway for your reply, I will try again when I have upgraded the USIFAC II to the latest firmware, could be the problem as eto just mentioned.
Precisely the "basic" structure of LILICPC is like this to ensure the greatest compatibility of USIFAC devices (past and future) and because 100x100 games work perfectly with this launcher system and ease of use for any user, because I do not plan give support and for that reason I decided to include this "plus" for usifac in this cpcwiki post, which ikonsgr has kindly allowed.

In the beginning, the idea about LILICPC was to create a menu system with a basic program, but there were occasional failures in the execution of games and in the reset and it also prevented the enormous amount of games that can now be played with LILICPC.

When ikonsgr launches the ULIFAC I will publish in this post a new update with 1000 more games and with a much more optimized LILICPC.

As I always say, all credits and thanks from LILICPC to the creator of USIFAC Ikonsgr and to the authors of the games.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: caver99 on 08:12, 01 July 22
the extra commands for the USIfAC II that are loaded from usb but are being looked at putting to rsx could they bee added to a rom for use with current interfaces.

and the interface is great by the way 
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 12:03, 01 July 22
@WacKEDmaN, i reupload fw 6d (https://www.dropbox.com/s/kurhjh7loyktytu/18f47q10_6d.zip?dl=0), now it should work ok (for  some unknown reason,i've tried to program PIC using the previous uploaded fw 6d, and i also got strange behavior with my cpc464) . Btw, i have another "unofficial" fw (6e) version (https://www.dropbox.com/s/led4isle2xyi4b6/18f47q10_6e.zip?dl=0), which has some minor optimizations and changes in boot messages in order to work better along with ram/rom board (mainly show correct boot messages in all modes).
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 15:06, 01 July 22
Quote from: WacKEDmaN on 12:43, 01 July 22thanks ikonsgr...
unfortunatly i dont have a PIC programmer...
it would be nice if these could be updated over serial or the usb.. maybe something for the future..
pm sent!  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 20:17, 01 July 22
Quote from: WacKEDmaN on 12:43, 01 July 22thanks ikonsgr...
unfortunatly i dont have a PIC programmer...
it would be nice if these could be updated over serial or the usb.. maybe something for the future..
It might be a good idea to find out if you have any "hack spaces" local to you - they're usually quite chill and might be able to help you get your u2 updated.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 08:43, 02 July 22
Quote from: WacKEDmaN on 09:02, 02 July 22i have tried another ribbon and connector from a lower rom board (that works perfectly fine)
the cpc464 board im using is a new replica board.. the fingers on the edge connector are quite nice...(and ive cleaned them 3 times now!)
im starting to think..my board "may" have slightly longer traces or impedances that are throwing off the timing...
..a few little things ive noticed...
there is a through hole resistor on the back of this board.. i cant see any resistors on any of pics of the boards or the schematic in this thread.. is it supposed to be there?! (1.2Kohm)
also there seems to be a SMD capacitor missing (C6) on the USB module.. ..but that "shouldnt" be causing any issues tho...
Ok,i think we found te root of the problem. The back of the board should be like this:

IMG_20220702_105641_941.jpg

The smal signal 1N4148 diode should be placed if you had a previous than 6d fw version, otherwise reset button will reset amstrad but not USIfAC board. Let me explain:
 Until fw version 6c, i used MCLR "master clear" pin of PIC mcu to "hardware reset" PIC. But having MCLR active, is a potential "threat" for an accidental damage/erase of pic program under sertain (but rare) circumstances. I've also discover that in some cases, specific Z80 cpu's (combined with state of Amstrad board/edge connector), might not hold BUS RESET signal (that resets Z80 and I/O chip) high enough for USIfAC board to reset properly (that's why i've added the pullup resistor shown in your board's photo), resulting in
 the ubsence of "boot message" and of course a non working board. In order to fix this, i disable the hardware reset using MCLR pin,and add a small diode as shown in photo along with a small "reset code" into PIC's firmware.

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 09:30, 02 July 22
Quote from: WacKEDmaN on 09:02, 02 July 22i have tried another ribbon and connector from a lower rom board (that works perfectly fine)
the cpc464 board im using is a new replica board.. the fingers on the edge connector are quite nice...(and ive cleaned them 3 times now!)
im starting to think..my board "may" have slightly longer traces or impedances that are throwing off the timing...
..a few little things ive noticed...
there is a through hole resistor on the back of this board.. i cant see any resistors on any of pics of the boards or the schematic in this thread.. is it supposed to be there?! (1.2Kohm)
also there seems to be a SMD capacitor missing (C6) on the USB module.. ..but that "shouldnt" be causing any issues tho...
Ok,i think we found tte root of the problem. The back of the board should be like this:

IMG_20220702_105641_941.jpg

The small signal 1N4148 diode should be placed if you had ONLY 6d fw version, if not, reset button will reset amstrad but not USIfAC with fw 6d. Let me explain:
 Until fw version 6c, i used MCLR "master clear" pin of PIC mcu to "hardware reset" PIC. But having MCLR active, is a potential "threat" for an accidental damage/erase of pic program under sertain (but rare) circumstances. I've also discover that in some cases, specific Z80 cpu's (combined with state of Amstrad board/edge connector), might not hold BUS RESET signal (that resets Z80 and I/O chip) high enough for USIfAC board to reset properly (that's why i've added the pullup resistor shown in your board's photo), resulting in  the ubsence of "boot message" and of course a non working board. In order to fix this, i disable the hardware reset using MCLR pin,and add a small diode as shown in photo along with a small "reset code" into PIC's firmware.
As i already explained, this is a modification needed ONLY with 6d firmware, although the only "problem" if you don't place the diode is that USIfAC will not reset after pressing rst button.

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 09:39, 02 July 22
Quote from: WacKEDmaN on 09:35, 02 July 22right...so i should remove the resistor, and put the 1N4148 in as shown?
For using latest 6d fw, yes. Although it's rather strange that your brand new CPC464 replica board doesn't work right with fw 6c and the pull up resistor...  ::)
Can you measure the voltage on PIC's MCLR pin (it's the pin that resistor goes)? If it's lower than ~3,5 volt this can cause problems with board
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 09:45, 02 July 22
Quote from: WacKEDmaN on 09:43, 02 July 22it had 6d on it when i got it...
i found you firmware repo.. and just flashed 5a..but just got a yellow screen!..
ill reflash 6d and do these hardware changes (i hope ive got a spare 1N4148 handy!) and see how it goes...
Even better, use the unofficial 6e fw (https://www.dropbox.com/s/led4isle2xyi4b6/18f47q10_6e.zip?dl=0)  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 10:56, 02 July 22
Hmmm, that's really very weird indeed.... Try to re-solder the pull-up resistor again (along with diode) and see if that helps. 
Btw,i see that you have another Edge connector ribbon cable, did you try to replace the ribbon cables?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 16:00, 02 July 22
Yes, diode should be placed under dsk swap button. But even without the diode, Amstrad CPC464 should boot normally (actually it should boot twice on cold start)
 Anyway,from what you describe, it seems there might be signal problems with this replica board and USIfAC board. It reminds me the same erratic behavior with previous versions of RAM/ROM board, where the added length of signal traces, caused problems because of the 1oz copper thickness and relative thin traces. When i used 2oz copper thickness and wider trace widths (especially for 5v & gnd), most problems resolved. Maybe something similar happens with this replica board...  ::)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 16:23, 02 July 22
One last thing:i remember that some people had problems flashing PIC using PICKIT3, when hex file was code protected, so try this unprotected file and see if it works:
18f47q10_6e.zip
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: wolfgang on 21:39, 02 July 22
Quote from: shacpc on 21:16, 30 June 22
Quote from: wolfgang on 19:53, 30 June 22The USB stick is formatted with FAT32 and I tried with 2 different USB sticks, I did copy the content in the sticks root directory, not the folder.
Thanks anyway for your reply, I will try again when I have upgraded the USIFAC II to the latest firmware, could be the problem as eto just mentioned.
Precisely the "basic" structure of LILICPC is like this to ensure the greatest compatibility of USIFAC devices (past and future) and because 100x100 games work perfectly with this launcher system and ease of use for any user, because I do not plan give support and for that reason I decided to include this "plus" for usifac in this cpcwiki post, which ikonsgr has kindly allowed.

In the beginning, the idea about LILICPC was to create a menu system with a basic program, but there were occasional failures in the execution of games and in the reset and it also prevented the enormous amount of games that can now be played with LILICPC.

When ikonsgr launches the ULIFAC I will publish in this post a new update with 1000 more games and with a much more optimized LILICPC.

As I always say, all credits and thanks from LILICPC to the creator of USIFAC Ikonsgr and to the authors of the games.

Hi,

I got m,y PIC programmer and updated the USIFAC to Version 6d, the RUN"xxx now works.
Only thing is it works only once, after resetting USIFAC II another RUN"xxx command gives "File not found", so I have to switch OFF/ON the CPC464.

Anyway the effort of resetting USIFAC or OFF/ON the CPC is nearly the same, so I think its not worth to put more effort on it.

LILICPC is actually a very nice collection, many thanks for your work, as well as to ikonsgr for the fantastic USIFAC II.

Greetings

Wolfgang
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 21:51, 02 July 22
Quote from: wolfgang on 21:39, 02 July 22I got m,y PIC programmer and updated the USIFAC to Version 6d, the RUN"xxx now works.
Only thing is it works only once, after resetting USIFAC II another RUN"xxx command gives "File not found", so I have to switch OFF/ON the CPC464.
Anyway the effort of reseting USIFAC or OFF/ON the CPC is nearly the same, so I think its not worth to put more effort on it.
LILICPC is actually a very nice collection, many thanks for your work, as well as to ikonsgr for the fantastic USIFAC II.
Greetings
Wolfgang
Most probably, "return to root directory" is disabled, so after reset, it remains to last directory used, thus you get "file not found". You can easily change this,by giving OUT &FBD1,66 to enable or OUT &FBD1,65 to disable (note also that board will "Remember" your choice), and check current status with |STAT.
Alternatively you can just give |CDR after reset and return to root directory  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 15:32, 06 July 22
Oh, that's a really nasty bug. Hope that someone will find out what's going wrong and fix it one day. Guess its was long and hard work to find out what was found out.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: poulette73 on 21:12, 06 July 22
For information, I found it amusing to do loading tests according to the type of support.  :D

AMSTRAD Comparative table (https://i59.servimg.com/u/f59/18/51/04/47/tablea11.jpg)


USIfAC II Direct Mode is amazing !!  :o

I will be curious to also test the Wifi access when I receive the module.


[EDIT] For testing, I started the timer when I hit the ENTER key, and stopped it when the game menu was displayed.
But for Sorcery in USIfAC II Direct access mode it's not representative, because the total time includes : loading time + software decompression time.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 08:50, 07 July 22
Quote from: WacKEDmaN on 02:58, 07 July 22looks like my replica board is incompatible with the USIFAC II
ive just finished testing it on an original 464...and it worked fine... (6e..without the diode! just the resistor..and with the same power supply)

i also tested a DDI5 on the replica board and it works fine...

there is something about the USIFAC II that the replica board really doesnt like :(

is anyone using the USIFAC on a Version 1 board? (PT No 270100, MC0001A with slashed zeros?!...not the Z70100!) which my replica was based off..


Version 1 yes, but mine is an OG Z70100 not the MC0001A
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 10:17, 07 July 22
Quote from: Devlin on 08:50, 07 July 22Version 1 yes, but mine is an OG Z70100 not the MC0001A
So, does USIfAC II works with your CPC464 replica?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 11:20, 07 July 22
Quote from: WacKEDmaN on 11:06, 07 July 22
Quote from: ikonsgr on 10:17, 07 July 22
Quote from: Devlin on 08:50, 07 July 22Version 1 yes, but mine is an OG Z70100 not the MC0001A
So, does USIfAC II works with your CPC464 replica?
seems Devlin is using an original 464...not a replica and the Z70100 not the 270100 (mine has a 2 not a Z!) as can been seen on the mainboard versions page..

eg
https://www.cpcwiki.eu/imgs/c/ca/CPC464_270100_Grimware_crop.jpg <the board my replica is based off
https://www.cpcwiki.eu/imgs/6/60/CPC464_Z70100_Tomdalby.jpg < Devlins board
I am indeed using an original CPC464 - not a replica.
Yep, that's the one - although I believe mine is even slightly different to that, as mine has no components with that white tubing on it, and the heat-sink (now replaced) is a full square of metal with the wee tabs and no cut-outs on it.
It might be worth prodding Bryce or someone in the know as to why it might be occurring.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 12:30, 07 July 22
I guess it's save to say, that the USIFAC has issues with some 464s. It's totally unclear though, if there is a common factor behind it or if there are several issued that can cause this. I doubt it's just bad luck as I had 2 different 464s with exactly the same behaviour.

If there is any way to help with debugging this, I would be happy to do so. 




Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 14:02, 07 July 22
Quote from: WacKEDmaN on 13:56, 07 July 22im not sure where to go from here to debug it..
that was more towards iconsgr ;-) he might have an idea what to test next. And since I have a non-working CPC/Usifac combination, I would be happy to help with some tests.

Quote from: WacKEDmaN on 13:56, 07 July 22when i use the 1.1 ROM (patched to show 64k on boot) with the usifac it will actually boot...BUT..the screen gets all screwed up (like the CRTC timings are being messed with).. it gets to Ready and cursor, but no ROM string, and trying to use the RSX commands, it will either just lock up or throw a few random pixels on the screen and then lockup!
If I am not mistaken, the USIFAC uses the firmware contents to check if it's a 464. Not sure if it's initialized correctly with the 1.1 firmware. 
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 10:11, 08 July 22
Well,i believe that the root of the problem might has to do with the handling of ready signal from USIfAC.
When USIfAC is activated, a PIC's pin (the output of the master Configurable Logic Cell) goes to gnd, and through a diode to READY signal. This suppress the READY pulse from Gate Array chip, and practically freeze Amstrad, exactly like when you press the pause switch. This method seemed to work on all Amstrad CPC's i've tried (~10 different Amstrad's both CPC 6128 and CPC464), but for some reason it might not work on specific Amstrads.
One thing i don't know for sure, is if USIfAC works ok with older 40007 GA chip, for example my CPC 464 has the newer 40010 chip installed, and a couple of other CPC464 i've tried i don't know what GA chip had.
So, 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).
For a "deeper" analysis, if someone has an oscilloscope can check Amstrad's READY signal with USIfac on board.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 18:22, 08 July 22
Quote from: ikonsgr on 10:11, 08 July 22Well,i believe that the root of the problem might has to do with the handling of ready signal from USIfAC.
When USIfAC is activated, a PIC's pin (the output of the master Configurable Logic Cell) goes to gnd, and through a diode to READY signal. This suppress the READY pulse from Gate Array chip, and practically freeze Amstrad, exactly like when you press the pause switch. This method seemed to work on all Amstrad CPC's i've tried (~10 different Amstrad's both CPC 6128 and CPC464), but for some reason it might not work on specific Amstrads.
One thing i don't know for sure, is if USIfAC works ok with older 40007 GA chip, for example my CPC 464 has the newer 40010 chip installed, and a couple of other CPC464 i've tried i don't know what GA chip had.
So, 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).
For a "deeper" analysis, if someone has an oscilloscope can check Amstrad's READY signal with USIfac on board.
I have a 40007 in my 464 and have no issues with 6d fw
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 19:17, 08 July 22
Quote from: ikonsgr on 10: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).
will do on Monday. 

does the big red circle with the diode have a meaning for this task?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 21:16, 08 July 22
Quote from: eto on 19:17, 08 July 22does the big red circle with the diode have a meaning for this task?

 Nope,i just used a previous photo of board's back :-)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 11:09, 13 July 22
I 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. 
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 20:46, 14 July 22
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 (https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/usifac-iimake-your-pc-or-usb-stick-an-hdd-for-amstrad-access-dsk-and-many-more!/msg217301/#msg217301).
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 ;-)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 20:53, 14 July 22
Quote from: eto on 11: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.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 21:04, 14 July 22
Quote from: ikonsgr on 20: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?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 21:08, 14 July 22
Quote from: eto on 21:04, 14 July 22
Quote from: ikonsgr on 20: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.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 15:56, 15 July 22
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?  :) 
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 20:17, 15 July 22
Quote from: WacKEDmaN on 18: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  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 21:31, 15 July 22
Unfortunately i don't have win10 to test the utility, maybe some other could tell us if it have problems with win10.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: shacpc on 15:52, 19 July 22
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
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 20:24, 19 July 22
Quote from: ikonsgr on 10: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.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 11:23, 21 July 22
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 :) 
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: d_kef on 23:30, 23 July 22
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
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: shacpc on 19:19, 25 July 22
Quote from: WacKEDmaN on 01: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
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 20:57, 25 July 22
Quote from: WacKEDmaN on 01: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. 

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: shacpc on 21:13, 25 July 22
Quote from: WacKEDmaN on 21:07, 25 July 22
Quote from: shacpc on 19:19, 25 July 22
Quote from: WacKEDmaN on 01: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..



put some games that do not load you. make sure they are compatible with 464, when you search for the game in lilicpcsearch, the games that say 128K do not work in a 464. there are some games that you will find with 64K version and 128K version with different load each one.in the games that do not put anything, they are compatible with both systems.
finally, make sure you have copied all the folders and files correctly. if you still have problems, format the USB and unzip LILICPC again in the root of the USB. Remember that the process can take +30 min.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: shacpc on 21:34, 25 July 22
Quote from: WacKEDmaN on 21:24, 25 July 22
Quote from: shacpc on 21:13, 25 July 22put some games that do not load you. make sure they are compatible with 464, when you search for the game in lilicpcsearch, the games that say 128K do not work in a 464. there are some games that you will find with 64K version and 128K version with different load each one.in the games that do not put anything, they are compatible with both systems.
yes i know 128k games are not going to work!..
my problem is with serial loading...take for example the game Shorts Fuse (which isnt in lilicpc!).. ive extracted the files and added it to the USB stick.. i access it on usb.. and it loads fine, but if i access it them same files via direct serial, it crashes with "syntax error in 640140 line does not exist in 0"... of course loading from dsk works fine on either usb or serial, but requires |464 mode..(where i dont have access to the usifac rsx commands anymore and have to do the hold reset press disc swap trick)
also noticed some games in lilicpc, work in the start screens, menus, but fail when loading or playing the actual game :/ (from usb)
Short's Fuse yes it is in lilicpc., code 213 . You have to try to be very exact when searching lilisearch. I recommend putting the 4-5 letters and choosing the desired game among those that appear.
There may be some game that does not work, so I would appreciate it if you could send me the XXX loading code so that I can solve it. but I recommend you do a clean installation of LICPC on your USB.
As I have doubts if this game is part of a more updated version of lilicpc in which I am working, I provide you with the launcher file that must go in the root folder and the SF folder that you must include along with its content in the FAVO folder
https://drive.google.com/file/d/14g2GaKxkq8NeEjv4nJUObS0bn3jFks65/view?usp=sharing
https://drive.google.com/drive/folders/1ULCSKxL_og8wllpkd00exsTp04t5jHMs?usp=sharing
if it asks you to overwrite, do it
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 10:16, 27 July 22
Quote from: WacKEDmaN on 01: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..


Unfortunately the 8.3 filename is a restriction of the CH376 usb host module.
And one recomendation for easier lilicpc access of games:
To avoid |CDR and |CD commands, you can place all 3digit files to root directory and give: OUT &FBD1,66. That way, everytime you reset amstrad,it will automatically return to root directory, and so, you can directly give the code for the next game you want! ;-)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 12:50, 27 July 22
Quote from: WacKEDmaN on 11:54, 27 July 22|CD,".." doesnt work over usb too right?
It works, but you don't need to type "..", just give:|CD and it will go up a directory ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 07:52, 29 July 22
Quote from: XLV2K on 10:00, 28 July 22does this interface work with the Amstrad CPC plus line?
I haven't tested USIfAC with Amstrad plus, but other people verified that basic functions (direct file mode and FDC emulation) work ok in  most cases.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 08:28, 29 July 22
Quote from: eto on 20:57, 25 July 22
Quote from: WacKEDmaN on 01: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.


I gave up and sold the 464, so can't test any longer. 
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: XLV2K on 10:42, 29 July 22
Quote from: ikonsgr on 07:52, 29 July 22
Quote from: XLV2K on 10:00, 28 July 22does this interface work with the Amstrad CPC plus line?
I haven't tested USIfAC with Amstrad plus, but other people verified that basic functions (direct file mode and FDC emulation) work ok in  most cases.
That's great. I would like to purchase one then. Whats the process, do I send you a PM?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: darkhalf on 00:21, 06 August 22
I've found an issue with the FM (file manager) program. It works fine with running .BAS and .BIN but if you have a program without extension then it cannot find the file

This part here copies into BASIC memory (corrupts the first line of FM) and then calls RUN
230 FOR i=1 TO LEN(A$):POKE &175+i,ASC(MID$(A$,i,1)):NEXT i

So that works fine for files with extensions but not if file is called test. I've tried putting in a dot (.) at position 9 but that doesn't fix it. Any ideas on this one?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 10:01, 13 August 22
Quote from: darkhalf on 00:21, 06 August 22I've found an issue with the FM (file manager) program. It works fine with running .BAS and .BIN but if you have a program without extension then it cannot find the file

This part here copies into BASIC memory (corrupts the first line of FM) and then calls RUN
230 FOR i=1 TO LEN(A$):POKE &175+i,ASC(MID$(A$,i,1)):NEXT i

So that works fine for files with extensions but not if file is called test. I've tried putting in a dot (.) at position 9 but that doesn't fix it. Any ideas on this one?
I just try to load a small Basic program without extension and it loaded fine using file manager and fw 6d. Such problems sometimes are caused by minor incompatibilities of usb host module and the usb stick you are using.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: darkhalf on 12:17, 14 August 22
Thanks for checking. I'm using a 64MB USB stick (yes it is very old!) formatted to FAT just to make sure it is all good

Example game is Aaargh! attached. This comes from the CPCGamesCD_20200330.iso compilation. Many direct load games in here

As is direct load, and the main file AAARGH can be run fine from the ready prompt (run "AAARGH) but will not work from the file manager

I'm not sure if we can attach files here still?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: darkhalf on 12:22, 14 August 22
Link to google drive. Putting the ISO and another CPC_games_reviewedAA in there also
https://drive.google.com/drive/folders/1OKMp5rrvwAybLPAQH7f8JWFIYSFxGrSM?usp=sharing
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: shacpc on 20:43, 14 August 22
Quote from: darkhalf on 12:17, 14 August 22Thanks for checking. I'm using a 64MB USB stick (yes it is very old!) formatted to FAT just to make sure it is all good
Example game is Aaargh! attached. This comes from the CPCGamesCD_20200330.iso compilation. Many direct load games in here
As is direct load, and the main file AAARGH can be run fine from the ready prompt (run "AAARGH) but will not work from the file manager
I'm not sure if we can attach files here still?
the solution is to launch the games with  LiliCPC for USIfAC II  with the support and collaboration of ikonsgr. In previous posts you have the information to install it on a USB and run it. The idea of loading games directly from uncompressed files "fails more than a sideshow shotgun" for multiple reasons.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 23:48, 14 August 22
@shacpc 

Do you have a link to  LiliCPC for USIfAC II I cannot find it 

Thanks

Keep Safe

Ray
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: darkhalf on 01:07, 15 August 22
Quotethe solution is to launch the games with  LiliCPC for USIfAC II  with the support and collaboration of ikonsgr. In previous posts you have the information to install it on a USB and run it. The idea of loading games directly from uncompressed files "fails more than a sideshow shotgun" for multiple reasons.
What are those reasons? Was this not how USB mode was meant to function?

 I prefer this over having to setup a PC for accessing files (similar to my M4). The current problem is that direct load games from folders normally with USIFAC via USB work fine, however the File Manager was not able to run some files which have no extension. It seems like something which could be probably fixed up in FM

<edit>
@Ray Post #938 has the link
https://mega.nz/folder/93pR2KiA#qlkiFakrZhSzmko65EbTWw/file/FjwFiA7b
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 01:41, 15 August 22
@darkhalf 

Thanks Ooops. I missed it

Thanks
Keep Safe
Ray
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: darkhalf on 02:51, 15 August 22
@Audronic

I've google translated the LiliCPC documents and put them in my google drive folder (link at #968)
Make sure it is formatted FAT32 (not FAT) since there are too many files in the root folder
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 03:23, 15 August 22
@darkhalf 

Ok Thanks

Keep Safe

Ray 
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: XLV2K on 23:57, 15 August 22
Quote from: darkhalf on 02:51, 15 August 22@Audronic

I've google translated the LiliCPC documents and put them in my google drive folder (link at #968)
Make sure it is formatted FAT32 (not FAT) since there are too many files in the root folder

Thanks for the translations too.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: shacpc on 10:12, 16 August 22
Quote from: darkhalf on 01:07, 15 August 22
Quotethe solution is to launch the games with  LiliCPC for USIfAC II  with the support and collaboration of ikonsgr. In previous posts you have the information to install it on a USB and run it. The idea of loading games directly from uncompressed files "fails more than a sideshow shotgun" for multiple reasons.
What are those reasons? Was this not how USB mode was meant to function?

 I prefer this over having to setup a PC for accessing files (similar to my M4). The current problem is that direct load games from folders normally with USIFAC via USB work fine, however the File Manager was not able to run some files which have no extension. It seems like something which could be probably fixed up in FM

<edit>
@Ray Post #938 has the link
https://mega.nz/folder/93pR2KiA#qlkiFakrZhSzmko65EbTWw/file/FjwFiA7b

It is a matter of taste. A lot of games need a basic loader with certain custom features for each game that the LiliCPC provides. Therefore only hack games and basic games will work from FM. In addition, the LiliCPC allows a clean memory reset and a new RUN without having to navigate through folders. It is very convenient in my opinion. The current version will probably be the definitive one due to the lack of collaboration from the community, both in cpcwiki and amstrad power telegram, because to advance we asked to contribute bugs and if someone had knowledge of programming in android an app similar to the one created in java for windows by ikonsgr. And nobody has contributed, many downloads but without the feedback that was requested in a long time work, free for everyone and made with much love.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 12:02, 16 August 22
Probably a stupid question: but is there an overview what LiliCPC actually is? Information is spread across so many pages, I still don't get the gist of it.

Btw: wouldn't it be useful to us the USIFAC Wiki page to share the fundamental information there?

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: shacpc on 16:09, 16 August 22
Quote from: eto on 12:02, 16 August 22Probably a stupid question: but is there an overview what LiliCPC actually is? Information is spread across so many pages, I still don't get the gist of it.

Btw: wouldn't it be useful to us the USIFAC Wiki page to share the fundamental information there?


Thanks for your interest. Creating a thread on cpcwiki is something ikonsgr suggested to me some time ago. Probably, after the summer I will be able to offer something.

In principle there shouldn't be several download sources, since the "official" one is on mega from a telegram group called Amstrad Power, which makes it possible for LiliCPC to be linked to the roms. In the case of making a thread from cpcwiki with the download, it would only be LiliCPC without the roms.

LiliCPC is a pack of basic launcher programs for the romset of the amstrad cpc 464, 664 and 6128, exclusively intended for use on USIfAC II. LiliCPC is an ideal complement for those who are thinking of playing only with their cpc and without wasting time navigating through folders and with an excellent compatibility with all the games.
Traducido con DeepL https://www.deepl.com/app/?utm_source=android&utm_medium=app&utm_campaign=share-translation
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 01:19, 19 August 22
@ shacpc

The reference to " INTRO" in the PDF Means ENTER (English)
On The CPC we would need to have a way of displaying the Game Names directly
Without using a Paper chart ?

Keep Safe

Ray
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 09:48, 19 August 22
Quote from: darkhalf on 12:17, 14 August 22Thanks for checking. I'm using a 64MB USB stick (yes it is very old!) formatted to FAT just to make sure it is all good
Example game is Aaargh! attached. This comes from the CPCGamesCD_20200330.iso compilation. Many direct load games in here
As is direct load, and the main file AAARGH can be run fine from the ready prompt (run "AAARGH) but will not work from the file manager
I'm not sure if we can attach files here still?
I tried aaaargh and still loading works fine using filemanager.... ::)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: darkhalf on 09:58, 19 August 22
QuoteI tried aaaargh and still loading works fine using filemanager
Is that the one from LILICPC (243 from the search) or the one I posted above?

Also I've found that USIFAC is not compatible with some roms such as Maxam, Utopia, YANCC on my ROM board. Cat crashes on USB with these enabled
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 14:19, 19 August 22
Quote from: darkhalf on 09:58, 19 August 22Is that the one from LILICPC (243 from the search) or the one I posted above?
I used the one you posted.

Quote from: darkhalf on 09:58, 19 August 22Also I've found that USIFAC is not compatible with some roms such as Maxam, Utopia, YANCC on my ROM board. Cat crashes on USB with these enabled
In order to use amsdos commands like CAT,LOAD,RUN,SAVE, calls to amsdos rom, should be "hijacked" from USIfAC to execute proper code for them. This is done using |USB or |EN commands. If amstrad crashes, then there must be some intervention from those roms in the process. You can also try to use the low level FDC emulation, instead of the default direct mode, by mounting a dsk image and giving |FDC command. That way any program on these roms, will "think" that it works with a real disk drive. Finally you can disable direct/fdc mode, by giving |DIS command and work with amsdos and the disk drive.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 14:31, 19 August 22
Quote from: Audronic on 01:19, 19 August 22On The CPC we would need to have a way of displaying the Game Names directly
Without using a Paper chart ?
Quote from: eto on 12:02, 16 August 22yup i was thinking the same..it would be nice to have some program on the cpc that will load listado.txt a page at a time or something.. or something along them lines..

 There is lilcpc search engine for windows to do that. And i'm afraid this can't be done on Amstrad, mainly for 2 reasons:
1) Memory restrictions. You see, when you have many thousands of "3digit code-name" pairs, and considering that most names are ~15-20characters long, you would need almost all (or even more) of the 64kb ram, just to load all the pairs on RAM  (check the size of current listado.txt file to confirm that)!  Mind also that only ~43kb is the actual available free ram!
2) Cpu speed. Applying ascii character searching on 1000's of names, would probably take much time, especially if you want to have on the fly "search uppon typing character" process, like with the windows utility.

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 02:12, 20 August 22
@ikonsgr 

Is it possible the have the USB enabled at power up ?

Thanks

Keep Safe

Ray
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: darkhalf on 07:53, 20 August 22
@ikonsgr thanks for checking.

QuoteI used the one you posted.
I think I've figured it out. When you copy the command name into LINE 1 of the program, it can be corrupted based on what is already in memory and the file name (so results may vary). 
PXL_20220820_063225179.MP.jpg
So on my machine for files with no extensions, it happens repeatedly (btw I've tried a fresh USB stick, latest FM on drop box and the AAARGH posted here)

If modify the program and have 1 ' ******************* then after running we see the second screenshot
PXL_20220820_063506277.MP.jpg

I think the solution is to use spaces or zero out more of line 1 and that will help the RUN command work (if I use the COPY button to just copy upto the spaces that works)

QuoteIn order to use amsdos commands like CAT,LOAD,RUN,SAVE, calls to amsdos rom, should be "hijacked" from USIfAC to execute proper code for them. This is done using |USB or |EN commands. If amstrad crashes, then there must be some intervention from those roms in the process.
That is what is happening. The ROMs seem to work fine
PXL_20220820_063808926.MP.jpg
But the USIFAC stops functioning correctly when enabled. So as you can see, I use the |USB and then the |CAT and it freezes completely

PXL_20220820_063750371.MP.jpg
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: darkhalf on 08:13, 20 August 22
Update: Putting in line 1 of the FM file a ' comment with bunch of spaces after makes this work. So I can use this to navigate and execute the AA / CPC direct load games/utils/apps folders I have 
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 08:18, 20 August 22
Quote from: darkhalf on 07:53, 20 August 22I think I've figured it out. When you copy the command name into LINE 1 of the program, it can be corrupted based on what is already in memory and the file name (so results may vary).
So on my machine for files with no extensions, it happens repeatedly (btw I've tried a fresh USB stick, latest FM on drop box and the AAARGH posted here)
I think you used the old filemanager, where the problem occurs. Anyway, this problem easily resolves, if you add a small basic line in FM program:
235 POKE &175+i,0
This will prevent getting garbage in file name.

QuoteBut the USIFAC stops functioning correctly when enabled. So as you can see, I use the |USB and then the |CAT and it freezes completely
Did you try to remove all extra roms, and then add them one by one to find which of the roms causes the problem?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: darkhalf on 10:18, 20 August 22
@ikonsgr 
QuoteI think you used the old filemanager, where the problem occurs.
I used the Dropbox link on the first page when testing.  The files in that folder don't have that line you mention.  Is there an updated version which needs uploading there then? 

QuoteDid you try to remove all extra roms, and then add them one by one to find which of the roms causes the problem?
Yeah I've built a 6rom board so can turn off each rom via dip switch.  So this test I've tried one at a time with maxam then utopia, then yancc and the !cat will freeze on each one

Also checked out lilicpc folders today and can see that  lot of work went into this, but the BAS files are primarily required for 464 users nedding the RSX parameter workarounds. However if you replace the lower ROM with 664/6128 and BASIC1.1 it kind of makes using these redundant? Anyhow FM works great now for browse and execute. Similar to using M4FE on M4 boards 

Next test was multiface save and reload. Save works but reload wasn't successful.  Everyone's a wally from the AA games list was my test. Will have to stick with gotek for multiface saves
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 10:21, 20 August 22
Quote from: darkhalf on 10:18, 20 August 22Is there an updated version which needs uploading there then?
I've updated the fm program in old filemanager zip file, so now it should work ok too.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 16:29, 20 August 22
Quote from: WacKEDmaN on 16:09, 20 August 22yes i understand that and the pc app isnt always available...  there should be some way to load part of the file in, display it, then load in some more over writing the last page, and displaying it... search would be harder, but if names where arranged alphabetically in the file it might be possible to jump to a letter via keypress by just searching for the first name in the file that starts with that letter.. it could all be done in a looped buffer..

Well,the huge text file with code-name pairs, can only be loaded as ascii file e.g. byte by byte, meaning VERY slow loading, so even if a part of the file is loaded in ram, the loading process would be very slow too.
 Unfortunately, the sheer fact is that, amstrad cpc can't manage such big volumes of data, either in terms of process or display. So practically, apart from windows search engine, the only other feasible way to manage this huge list, is to print it out, and have the..."book" next to amstrad for quick reference :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 17:09, 20 August 22
I appreciate your entusiasm and your ideas, hope you are not dissapointed in the way of fulfilment! :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: darkhalf on 01:49, 21 August 22
@WacKEDmaN 
Quotehave you tried rebooting after giving the |USB command?.. |CAT locks up on mine too unless i reboot it first (ctrl+shift+esc or reset button on USIFAC
With maxam I get a out of memory error after soft reset and then !cat. With utopia it will fteeze

Sometimes I have to pull external power to the backplane and cpc as it will get stuck in a reset loop. I found the CPC power isn't enough (from CTM) for the USB module and it would randomly lock up. From memory running 5.2v on backplane 

20220821_101804.jpg
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: TotO on 02:42, 21 August 22
@darkhalf I think the issue is the USIfAC-II conflict with ROM boards.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: darkhalf on 08:48, 21 August 22
Quote from: TotO on 02:42, 21 August 22@darkhalf I think the issue is the USIfAC-II conflict with ROM boards.
Agreed. So if using USIFAC, switch off the ROMs and then all good
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 09:24, 21 August 22
Quote from: darkhalf on 08:48, 21 August 22
Quote from: TotO on 02:42, 21 August 22@darkhalf I think the issue is the USIfAC-II conflict with ROM boards.
Agreed. So if using USIFAC, switch off the ROMs and then all good

Did you try to change USIFAC's rom number with OUT &FBD2,X? Maybe using a different rom would prevent conflict
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: darkhalf on 09:49, 21 August 22
Will try that out. I did leave USIFAC II at slot 5 and the other ROMs tested were at slots 1-4. The revaldino 6ROM board has spaces at slots 5-6 (but there is no ROM fitted here, and disabled)

OK tried slot 6 and 8. Still same issues with this rom board

So I've just tried something else... M4 board. With only UTOPIA ROM enabled in slot 1 and M4 etc ROM disabled and usifac slot 8. Still freeze on !cat. So it's not the actual ROM board
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 10:07, 21 August 22
Quote from: darkhalf on 09:49, 21 August 22Will try that out. I did leave USIFAC II at slot 5 and the other ROMs tested were at slots 1-4. The revaldino 6ROM board has spaces at slots 5-6 (but there is no ROM fitted here, and disabled)
I just remembered another member who had problems using flashgordon rom board and usifac on MX4 board.He finally resolved it by relocating usifac's rom number to 3: https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/usifac-iimake-your-pc-or-usb-stick-an-hdd-for-amstrad-access-dsk-and-many-more!/msg217380/#msg217380
Hint: Maybe usifac ii should have lower rom number than others, so it might be a good idea to relocate usifac to rom 2, and all other roms higher.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: darkhalf on 10:39, 21 August 22
@ikonsgr
QuoteHint: Maybe usifac ii should have lower rom number than others, so it might be a good idea to relocate usifac to rom 2, and all other roms higher
That was it! It must be first in the ROM chain. YANCC had a similar issue, where it had to be a lower ROM slot (but not with the m4 AMSDOS work around). 

Sweet. So we can use this with other ROMs and file manager. Thanks 😊 
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 22:38, 22 August 22
https://www.youtube.com/watch?v=AlgoPwr7tU8
https://www.youtube.com/watch?v=pgJUK-AQy7Y

Coming soon...  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: poulette73 on 18:13, 27 August 22
Quote from: poulette73 on 21:19, 05 July 22I didn't go into details here, but I had done all long and wide tests (deleting each roms, one by one, with tries each time to find if a rom was in conflict, etc.).

In the end, even with an "empty" FlashGordon (only rom 0 for Basic and rom 7 for CPM) the problem was still present.

It was on advices of ikonsgr that I tried to find wich possible positions of USIfAC relocation.

This is only in slot 3, perfect for cohabiting with a FlashGordon (even virgin). 👍


Since then I've reloaded about ten roms in FlashGordon (low and high roms) and everything works perfectly.  :)

For FlashGordon users : despite everything, I continued to encounter problems with USIfAC even in slot 3 (or any location) when running SNA games or navigating in USB directories.

Something was messing up the USIfAC rom, even though the FlashGordon rom board was blank and just plugged in.

Of course I had tried to relocate the USIfAC rom to all possible locations between 1 and 15 with OUT &FBD2,x but the problem was not solved.

And you can't physically disable an individual slot like on old rom boards with dipswitches.


So it was the only solution : I acquired a CPC Sixrom Card  (https://github.com/revaldinho/cpc_ram_expansion/wiki/CPC-Sixrom-Card#dip-switch-selection)on which I flashed the roms that I use most often.

And I disabled slot 3 with the dipswitch.

Everything is resolved now, no more worries about using USIfAC !  :)

And I will continue to use my FlashGordon on a second Mother X4.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 16:50, 28 August 22
It doesn't matter if a ROM is blank or not. The problem is that you connect two ROMs at the same slot. Try to copy the same content into both ROMs. This could help.
Clean solution: Have only one physical ROM per slot.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: poulette73 on 17:28, 28 August 22
As I said: my FlashGordon rom board was completely blank ! There were absolutely no rom at the USIfAC location.

And of course I also tried to implant the USIfAC rom in FlashGordon, at the same slot rom position, on ikonsgr's suggestions.
But that didn't change anything...

The problem was even empty : something made the slot partially busy... and probably disturbs USIfAC.

After several weeks of discussions between ikonsgr and rom board designers, we have come to this conclusion.

But it's good.

Now it's solved.  8)

With another rom board allowing to physically inhibit a defined slot using a switch (in my case number 3): there's no longer any possible conflict !  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 18:43, 28 August 22
See, that's the problem. You call in blank, but there is no such thing. If you blank it then in cantains only Bytes 0, but the other ROM on the same ROM select contains 0 and other bytes.
If the CPC reads from the ROM it gets data from both ROMs. Different data! And that causes the problem.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: poulette73 on 20:46, 28 August 22
Yes, that's exactly what I said since 3 posts.  :D

There is no rom, but this creates an allocation conflict at the same position...
That's why a hardware dipswitch is the solution.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: poulette73 on 01:33, 30 August 22
Many thanks to @ikonsgr and @kolleykibber !! 🙏👍

For their help on Wifi configuration needed to connect directly to the Internet and access the BBS servers from my Amstrad 6128. 

It wasn't easy but I made it.

I was even able to send myself an email from the BBS server...  :D
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 02:27, 30 August 22
Quote from: Audronic on 02:12, 20 August 22@ikonsgr

Is it possible the have the USB enabled at power up ?

Thanks

Keep Safe

Ray
BUMP
Is it possible the have the USB enabled at power up ?

Thanks
Keep Safe

Ray
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 09:16, 30 August 22
Quote from: Audronic on 02:27, 30 August 22Is it possible the have the USB enabled at power up ?
Thanks
Keep Safe
Ray
If you mean after first switch on (cold start), i'm afraid it's not possible. At first power up, USIfAC ROM is active, but nothing is enabled, either usb, direct file mode, or fdc emulation for access dsk images. But if you enable usb module once, then it should be active until power off or if it's disabled by giving again |USB.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 10:47, 30 August 22
@ikonsgr 

Ok thanks

Keep Safe

Ray
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 21:35, 30 August 22
Sometimes (more often actually) games reset the ROMs, therefore it's important to have the most "compatible" configuration enabled by default. I think in this case it works that way.  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 18:34, 05 September 22
Finally the revelation (https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/new-multi-purpose-board512k-ram-expansion32x-rom-board256k-ram2x-rom-board/) came out!  :D
I've also uploaded a new firmware (6f) (https://www.dropbox.com/s/rm0rxinkb6ialzh/18f47q10_6f.zip?dl=0) that gives proper boot messages, and a bit better cooperation with the new RAM/ROM board.

(btw,i can't modify the 1st post to add the new firmware link...  ::)  )
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: shacpc on 22:33, 05 September 22
Quote from: ikonsgr on 18:34, 05 September 22Finally the revelation (https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/new-multi-purpose-board512k-ram-expansion32x-rom-board256k-ram2x-rom-board/) came out!  :D
I've also uploaded a new firmware (6f) (https://www.dropbox.com/s/rm0rxinkb6ialzh/18f47q10_6f.zip?dl=0) that gives proper boot messages, and a bit better cooperation with the new RAM/ROM board.
(btw,i can't modify the 1st post to add the new firmware link...  ::)  )
updated my two usifacII, all correct.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 17:53, 15 September 22
updated to 6f without problem, and is now operating happily :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: vasilisk on 10:38, 16 October 22
Is there a link for the updated "filemanager" ?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 10:58, 16 October 22
Quote from: vasilisk on 10:38, 16 October 22Is there a link for the updated "filemanager" ?
It's all in the Dropbox (should be a link in OP)

I'm working on an alternative, single-file file manager but i'm still working out the kinks in it - but should be more friendly to usifac2's behaviours. It's not ready yet, and might be a while until I have it as fully featured as i'd like it.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Maitresinh on 14:34, 23 October 22
Wonderfull USIFAC !

Works fine, and it's giving a new life to an old CPC full of dust i bought many years ago 
Unfortunately, i try to plug a WIFI ESP 07, light on the CPC, made IWifi ..and get "no wifi module detected".
I'w tried various reset. The module is in UART position. Ground pin connected to Ground pin on the USIFAC

Help someone ?

My goal is to connect the CPC to the BBS, and moreover, connect it to Starkos
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Maitresinh on 15:40, 23 October 22
Quote from: kolleykibber on 16:08, 26 March 21Hi @ikonsgr (https://www.cpcwiki.eu/forum/index.php?action=profile;u=541)


I continue on my investigations with your interesting piece of kit!


I've bought a few ESP-07s and have tried them on the board. But if I call |WIFI I get 'NO WiFi module detected!'.
I have a cpc6128, the ESP-07s are switched to UART (I tried program too!).
I've tried |USB on and off, before I call |WIFI. I've used the ESP-07 reset switch, before the RSX.
If I call |WIFI a second time the system crashes.
The ESP-07 is connected correctly (GND to GND) and the lights come on and you can hear the wifi signal pulsing through the CPC's speaker.
I've tried different ESP-07s


Am I doing something wrong?


Thanks!




in fact i've got exactly the same harder/problem
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: poulette73 on 17:47, 23 October 22
Exactly the same problem for me with two ESP-07s modules, and one ESP-01 module.
>Flashing procedure is OK, and the firmware is correct.
>Connection to the USIfAC II works, the module's red LED lights up.
>When I type the command ùWIFI I get 'NO WiFi module detected!'.

The only one that works with my USIfAC II board is the ESP-12 module.

I really tried everything. Different software to flash, and different firmwares, without success.

If anyone has the solution for the ESP-07 and/or ESP-01 modules I'm interested.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Maitresinh on 23:57, 23 October 22
well if the ESP12 works...i think i will buy one. But first, i want to check if it's a powering problem. Mine is a generic 2A i'm using for Arduinos 3B+, but i'm adaptating a dual powering (12v/5v) from a external DD

By the way, i didn't flash anything. Do i have to ?

The other (minor) problem is the 3D printed case: forget about using it with the wifi module, even with wires on the pins. You cannot use the central screw anymore, and the module cannot fit anywhere.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: poulette73 on 04:45, 24 October 22
Yes, already done, but thank you.

I have already tried this link (of course) and many others flash tool.
And many different firmware for all my ESP-12, ESP-07 and ESP-01 modules.
Each firmware different, depending on the module (sometimes 4 files versions, sometimes 1 file versions).

I spent many days on this subject. Definitively it's not a flash procedure problem.

I would like to know the feedback of a member who REALLY uses an ESP-07 / ESP-01 module, with which firmware exactly he used with a download link.


The link above works for ESP-12 module.
But not for ESP-07 and ESP-01 modules (the flash is correct, but the module is not detected by USIfAC II).
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 06:46, 24 October 22
Hello

I tried with several ESP01 modules and I had the same problem. I could not use the wifi and the pendrive at same time. If I wanted to use the wifi I had to save my files on discs. I wanted to build a small navigator. I used a 4A powering.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Maitresinh on 11:26, 24 October 22
Quote from: WacKEDmaN on 03:42, 24 October 22i used an ESP8266 NODEMCU dev board...(eg ESP12-E)...but ANY ESP8266 will work...

did yas upload the required firmware to the ESP? afaik its not the standard serial to wifi bridge like in arduino ide...

i needed to download the flash tool and upload the firmware file manually....
both the flash tool and the firmware are on the dropbox page in a file called ESP8266_Flasher.zip
https://www.dropbox.com/sh/ezzga2dppm6jlm7/AACwFC_rv2QatWh_ndKc9fhma?dl=0

So: i see that i was right to start talking about that matter. A lot of people seems to have problems and there is probably room to make the process more clear

Regarding myself, i didn't know the ESP module has be tbe flashed (i though it was only for the USIFAC itself).

To summarize

- Flash the ESP (with this  (https://www.dropbox.com/sh/ezzga2dppm6jlm7/AABlcp2pZfGcoOXVw5UNAZmSa/ESP8266_flasher.zip?dl=0))
- Connect it, UART position, Ground to Ground
- Check if the power supply is enough (it seems to be the case)
- Congifuration : IWIFI and/or (?)
etc...?
-
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Maitresinh on 13:11, 24 October 22
Thanks

Would you have a link to a (simple ?) flashing process ?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: poulette73 on 13:28, 24 October 22
Quote from: WacKEDmaN on 09:41, 24 October 22the ESP8622 IDF AT Bin is universal... it works on all esp8266 modules...
its this AT command firmware that is required...
the HS06F014 ESP-01S.bin that is included in the zip/link above is exactly that... just an older version than whats currently on the ESP site...

....see if you can connect to the esp8266 via serial... (eg after you flash connect to the serial port)
send 'AT' command
if it doesnt return 'OK' then youve done something wrong...(or you havent got the right baudrate)

this firmware is set for 115200bps (or possibly one of the other lower rate i cant remember) you NEED to disable USB stick, and then change the baudrate on the USIFAC to match the esp8266s baudrate before giving the |wifi command... (usb sets the rate to 1mbit... which is NOT going to work with ESP8266.. max stable is 115200)

if my CPC was working..id do a step by step guide...from flashing to accessing files on a PC from the CPC...

Thanks for your help @WacKEDmaN.

I know the procedure by heart so many times I have done it.

The problem does not come from the flash tool, nor from the files, since it works very well with my ESP-12 module.
USIfAC II works very well too.

The result is the same for my ESP-01 module and my two ESP-07 modules :
The flash works perfectly all the way to 100%.
But ESP-07/ESP-01 modules are not detected by the USIfAC II with the ùWIFI command.
No power or ground concerns, they are properly connected and powered.
Different speed tests with 115200 bps or less.
And remember that my USIfAC II works with ESP-12 module.

And if I test a Windows terminal with AT command : I don't get the OK response.
Either there is no answer, or I get weird characters.
Of course I tested different baud rates.

Unfortunately nothing works, I have already spent so many days (probably weeks.. lol !) there on these worries.

I've looked all over the question but I don't see any solution.

And many PMs exchanged with @ikonsgr too.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 15:21, 24 October 22
I see a lot of interest about esp modules suddenly :)
To clear things up about connections: for esp modules, there is a special female 4pin connector (ESP 8266 WiFi module port), you DONT have to use the generic UART connector:

https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/usifac-iimake-your-pc-or-usb-stick-an-hdd-for-amstrad-access-dsk-and-many-more!/?action=dlattach;attach=34008;image

Apart from having different gender, the pinout on esp modules, is DIFFERENT from the typical uart connector, so pinout on wifi connector is different from the uart connector!
All Esp modules (either giving the uart port directly, or through a 5v adapter for es01) have a pinout:
Rx Tx + -
And they plug DIRECTLY on the special 4pin felmale connector  (esp module board should face outwards).
BUT, UART connector has a DIFFERENT pinout:
+ - Rx Tx
So if you want to plug esp module on uart connector using dupont wires, you CANT connect cables "one on one" but you must plug it like this:
UART       ESP MODULE
 +            +
 -            -
 Rx           Tx
 Tx           Rx

Hope the above will help you clear things up about connecting wifi modules and USIfAC II :)

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: poulette73 on 16:42, 24 October 22
Of course I always use the specific USIfAC connector (ESP 8266 Wifi module port).
I never used the generic UART connector.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 19:28, 24 October 22
Some more hints about using esp modules:

- If you previously used a usb stick, better power off and on amstrad.

- If you have problems with |WIFI, try to set proper serial port speed with |SET command, and then use |COM, which is a special lightweight terminal, designed specifically for communicating with wifi/esp modules using AT commands. Check USIfAC's User's manual for a list of common AT commands and a link for the complete list of commands that can help in troubleshooting.

- After booting with esp module,you should wait for a few seconds before giving |WIFI command in order for the module to boot properly. Also, if esp module is previously connected to an access point (which is then saved on esp module),and you want to connect on the same Access Point, you should wait ~10 seconds after booting, before giving |WIFI command, in order for the module to boot properly and connect to the known access point. If you give |WIFI too fast you most probably get a: "WiFi module not found" error message.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Maitresinh on 21:22, 24 October 22
Quote from: Fran123 on 06:46, 24 October 22I wanted to build a small navigator. I used a 4A powering.
By the way, if you mean "build a kind of internet browser for the Amstrad CPC", that would be amazing. No idea if that would be possible.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Maitresinh on 21:35, 24 October 22
Quote from: WacKEDmaN on 13:31, 24 October 22
Quote from: Maitresinh on 13:11, 24 October 22Thanks

Would you have a link to a (simple ?) flashing process ?
i like to use Nodemcu flasher (can be used with any esp8266)..as its quite simple....
https://github.com/nodemcu/nodemcu-flasher (in the win32 or win64/release folder)

connect FTDI serial usb to the ESP8266s RX, TX, +3.3v and GND..(if your esp has usb like the nodemcu board just connect that, no FTDI cable needed)
ground GPIO0 to set the esp into flash upload mode...
load up nodemcu flasher...
select the com port that matches the FTDI serial port...
goto config tab
uncheck all boxes on the left except the top one...
hit the top gear icon..
select the HS06F014 ESP-01S.bin file
from the drop down on the right select 0x00000
goto advanced tab,
set
baudrate to 115200
Flash size to 1Mbyte
flash speed 80Mhz
SPI mode DIO

go back to Operation tab
...hit flash...

if all goes well it should populate AP MAC and STA MAC and the flash will upload...

from there youre done... but i like to check its working by loading up like putty or something, connect to the COM port... and send "AT"... if it returns Ok ya good to go.. if not, its probably a baudrate issue.. try to connect again at say 9600bps or .. till you find the right setting for it to return 'OK' from 'AT' command 
once youve found that connect it to the USIFAC and run the |SET command to change to the baudrate you found... then |WIFI to scan and connect to your network

there is a page here that maybe of help...
https://aruneworld.com/embedded/esp8266/esp8266-nodemcu/esp8266-nodemcu-flash-firmware/

I suppose the Nodemcu is powered bu the usb.
I've found this tutorial

https://randomnerdtutorials.com/flashing-nodemcu-firmware-on-the-esp8266-using-windows/


And is suppose you've got to use a breadboard for wiring like here

(https://stringfixer.com/files/108725819.jpg)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 21:43, 24 October 22
Quote from: Maitresinh on 21:22, 24 October 22
Quote from: Fran123 on 06:46, 24 October 22I wanted to build a small navigator. I used a 4A powering.
By the way, if you mean "build a kind of internet browser for the Amstrad CPC", that would be amazing. No idea if that would be possible.
Well, it would be very limited. The main goal was download files.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: poulette73 on 06:26, 25 October 22
Quote from: ikonsgr on 19:28, 24 October 22Some more hints about using esp modules:

- If you previously used a usb stick, better power off and on amstrad.

- If you have problems with |WIFI, try to set proper serial port speed with |SET command, and then use |COM, which is a special lightweight terminal, designed specifically for communicating with wifi/esp modules using AT commands. Check USIfAC's User's manual for a list of common AT commands and a link for the complete list of commands that can help in troubleshooting.

- After booting with esp module,you should wait for a few seconds before giving |WIFI command in order for the module to boot properly. Also, if esp module is previously connected to an access point (which is then saved on esp module),and you want to connect on the same Access Point, you should wait ~10 seconds after booting, before giving |WIFI command, in order for the module to boot properly and connect to the known access point. If you give |WIFI too fast you most probably get a: "WiFi module not found" error message.

Thank you John,

But as you know I already know all these 3 tips, as I have been using ESP Wifi modules for at least 2 months.
We have already discussed all this by PMs.
And I know the documentation by heart and all the advice on this subject...  ;)

As a reminder, I know very well how to use the ùSET, ùCOM, and ùWIFI commands because my ESP-12 module works perfectly.

The subject is : why ESP-01 and ESP-07 modules are not detected by USIfAC II ?


Is there anyone on the forum who only uses ESP-01 or ESP-07 (not ESP-12) with the exact procedure used for flash, software and files ?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 07:30, 25 October 22
@poulette73

"As a reminder, I know very well how to use the ùSET, ùCOM, and ùWIFI commands because my ESP-12 module works perfectly."

Is it possible to show a Photo of the ESP-12 Module you use Please

Thanks
Keep Safe
Ray

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: poulette73 on 13:53, 25 October 22
@WacKEDmaN :

ESP-01 module :
(https://i.ebayimg.com/images/g/Lg4AAOSwGgdf7XwT/s-l140.jpg)

ESP-01 Serial Adapter/3.3V 5V to connect USIfAC II :
(https://i.ebayimg.com/images/g/azUAAOSwSXdZ2YwX/s-l140.jpg)

USB Flash Key for ESP-01 :
(https://i.ebayimg.com/images/g/RFIAAOSw6lRi7S03/s-l140.jpg)
ESP-01 connects directly to the USB flash key, so no wires : there can be no mistake.

ESP-07 module :
(https://i.ebayimg.com/images/g/WUEAAOSwFYddn-ic/s-l140.jpg)

USB Flash Key for ESP-07 :
(https://i.ebayimg.com/images/g/fRAAAOSwG39ixVi6/s-l140.jpg)
But I am certain of my connections, impossible to be mistaken.
I've done this enough times... There are only 4 wires (RX, TX, GND, VCC)
No problem with Flash Size, Speed mode (QIO/DIO), Flash Speed, or firmware files...
No problem with, and how enable, normal mode or flash boot mode. I know all that.
If I did something wrong : Flashing module wouldn't work.


Thanks for your help again, it's very nice, but, I'm not looking for someone to debug the flashing method I'm using.
Please review all previous posts. I feel like I'm constantly repeating myself.

Is there anyone on the forum who uses an ESP-07 module (or ESP-01) ??

And who actually managed to make it work on the USIfAC II ?


@Audronic :

This is my ESP-12 (ESP12E) module :
(https://i.servimg.com/u/f59/18/51/04/47/wifi0112.jpg)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 14:55, 25 October 22
Quote from: poulette73 on 06:26, 25 October 22The subject is : why ESP-01 and ESP-07 modules are not detected by USIfAC II ?

As WacKEDmaN point out, this is most certain a problem with esp modules. The reason of non detection, is obviously because esp modules are not responding properly. So, i should follow his suggestions for troubleshooting.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 14:59, 25 October 22
Quote from: Audronic on 07:30, 25 October 22Is it possible to show a Photo of the ESP-12 Module you use Please
Thanks
Keep Safe
Ray
This is the 12F/12E i tested with USIfAC II: https://i.ebayimg.com/images/g/1ysAAOSwuZ9cP-6u/s-l1600.jpg
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: poulette73 on 18:44, 25 October 22
Hard to believe that my two ESP-01 modules, and my ESP-07 module are broken...
I can imagine it for only one, maybe... but not for 3 modules.

And I'm not going to buy a 4th one to rule out the possibility.

Moreover, they seem to work correctly since they are normally powered (GND and VNC pins) and the communication works perfectly in both directions (TX and RX pins) during the flashing procedure.
If that were not the case : there would be no acquittal, either sync problem, or flash failure.


I'm going to stop intervening, because we went off-topic, far from the initial subject of USIfAC II.
Sorry. 😉

I'll come back if anyone owns and uses an ESP-07/ESP-01 Wifi module. 👍
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 22:47, 25 October 22
@ikonsgr 

Thanks for the Photo of the ESP-12f/12E
There were so many to choose from, the photo will help

Keep Safe

Ray
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 22:49, 25 October 22
@poulette73 

Thanks for ALL of the photos
It will help with the one I will have to purchase

Keep Safe

Ray
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Gryzor on 10:03, 29 October 22
@WacKEDmaN : please be respectful to others. Patronising other users is not really tolerated.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 19:12, 30 October 22
Ok,a couple of minor updates:

- A new 6f firmware is uploaded (https://www.dropbox.com/s/rm0rxinkb6ialzh/18f47q10_6f.zip?dl=0),a good guy mentioned me that although it can save files containing characters: ~,!,- ,USIfAC II can't load them. It appears that at some point in the past, i have excluded those characters from filenames in loading routine (specifically CAS IN OPEN). Practically this can only be a problem if you mount usb stick with files using long filenames, which will be converted to DOS 8.3 names containing "~" character. Anyway,i've removed the exclusion so now you can use these characters in filenames too.

- From now on i will use a DC3 50pin header, which might prevent pins from bending when you plug/unplug a ribbon cable connector:

usifac_new_50pin_connector.jpg
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: poulette73 on 20:43, 30 October 22
Great news John, I mentioned it in PM this idea of connector. 👍

Would you have a link where we could get some to adapt to the USIfAC II ?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 23:15, 30 October 22
Quote from: poulette73 on 20:43, 30 October 22Would you have a link where we could get some to adapt to the USIfAC II ?
This (https://www.ebay.ie/itm/165744115252?var=465253415030&hash=item26971e7e34:g:XfMAAOSwhAZjV4aF&amdata=enc%3AAQAHAAAAoD4mpiqDGKJk2rpYvqOHLLPoeIsI7laZVqmi9WqILTk9e985qH3sf0POt8d1ate7VKavp6V3jB%2FXeRC0lP2522u7qvYkuIMg505JD7GFq8H8yqbLWPSUkI5tA5Non12MSfYdcEY8fcDbKZ3tUjx6gJDmwUsO6%2F8eAXXchIwBU3%2F5gwd6%2Ft1P0TFO7EhnApDG4OOWu39f9rwGk08qlT4DzkM%3D%7Ctkp%3ABk9SR6D6j6-FYQ) is from ebay, select 50L
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: reno on 00:14, 03 November 22
Hello, 

I'm interested in buying one, are they still available ? Where can I order ?
I hope it's the right place to ask this (sorry I didn't read the 43 pages in the thread :) )
I love my M4 but I'm fed up with the lack of direct FDC emulation, that is required for so many demos. This works 100% with the USIfAC II, right ?

Also, are there OS agnostic utilities for the device now, or do you still need a Windows PC to make the most of it ?
I'm on Mac and I don't necessarily need a GUI, just a CLI utility will be fine. I'm happy to compile it myself too.

Thanks !
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 09:01, 03 November 22
Quote from: reno on 00:14, 03 November 22Hello,

I'm interested in buying one, are they still available ? Where can I order ?
I hope it's the right place to ask this (sorry I didn't read the 43 pages in the thread :) )
I love my M4 but I'm fed up with the lack of direct FDC emulation, that is required for so many demos. This works 100% with the USIfAC II, right ?

Also, are there OS agnostic utilities for the device now, or do you still need a Windows PC to make the most of it ?
I'm on Mac and I don't necessarily need a GUI, just a CLI utility will be fine. I'm happy to compile it myself too.

Thanks !
I've included the relevant info on ordering -

QuoteAnd now, for the best part, i can offer:

- Stand alone Board+usb host module (if you have an MX4 or similar board) for  24 euros

- Board+usb host module+edge connector cable for 27 euros

- Board+usb host module+centronics connector cable for 29 euros

All prices include registered/tracked postage!

Anyone interested, please contact at: ikonsgr745@hotmail.com

All the tools aren't really necessary, but afaik are windows only.
I just copy files to a usb stick and go mostly.
I believe that the fdc emulation is pretty accurate but i've taken to focusing on "raw" files over disk images out of personal preference.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: NigeNigeNige on 13:59, 03 November 22
I received both boards today, thanks for the quick postage @ikonsgr!

When connecting just the USIfAC II, the 464 starts and I see the USIfAC II announcement text, then the machine reboots and hangs after printing the copyright message. If I then press the reset button it starts properly and I can use |USB to access the USB stick. 

If I also connect the RAM/ROM board then the same thing happens at startup. Loading the ROM manager, it doesn't list any ROMs at all. Pressing Tab gives "Improper argument in 302".

I've tried connecting an external 5V supply and removing the jumper but it didn't change the behaviour.

Any help much appreciated
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 18:35, 03 November 22
Quote from: NigeNigeNige on 13:59, 03 November 22I received both boards today, thanks for the quick postage @ikonsgr!

When connecting just the USIfAC II, the 464 starts and I see the USIfAC II announcement text, then the machine reboots and hangs after printing the copyright message. If I then press the reset button it starts properly and I can use |USB to access the USB stick.

If I also connect the RAM/ROM board then the same thing happens at startup. Loading the ROM manager, it doesn't list any ROMs at all. Pressing Tab gives "Improper argument in 302".

I've tried connecting an external 5V supply and removing the jumper but it didn't change the behaviour.

Any help much appreciated
This looks like a minor conectivity problem with Amstrad's Edge connector. Make sure that connector is well cleaned and has good contact with the ribbon cable.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: NigeNigeNige on 21:30, 04 November 22
Quote from: ikonsgr on 18:35, 03 November 22This looks like a minor conectivity problem with Amstrad's Edge connector. Make sure that connector is well cleaned and has good contact with the ribbon cable.
I've cleaned the edge connector but it's still the same. My other interfaces (MF2, DDI-1, 64K) are working fine. I think it's a board/firmware issue
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 00:34, 05 November 22
Quote from: NigeNigeNige on 13:59, 03 November 22When connecting just the USIfAC II, the 464 starts and I see the USIfAC II announcement text, then the machine reboots and hangs after printing the copyright message. If I then press the reset button it starts properly and I can use |USB to access the USB stick. 
Quote from: WacKEDmaN on 21:45, 04 November 22sounds close to the same problem im having.....

@NigeNigeNige curious...which gate array is in your system? 40007?

@ikonsgr youve never tested with a 40007 correct? it was designed around the 40010? ...does your board have the 2nd slot for 40007? maybe i could send you one to test with? (i know there shouldnt be a difference, its looking like there is)


I had the same with four different Schneider 464s. All with 40007. I guess it's time to recognise that there is a general incompatibility with some 464s and that it's not just an exception.


Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: d_kef on 16:23, 05 November 22
My 464 with 40007 also refuses to cooperate with the USIFAC II. Same symptoms here. Constant reboots or lockups.
So I have to agree that there is something that makes the two of them incompatible.

d_kef
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 18:02, 05 November 22
Quote from: d_kef on 16:23, 05 November 22My 464 with 40007 also refuses to cooperate with the USIFAC II. Same symptoms here. Constant reboots or lockups.
So I have to agree that there is something that makes the two of them incompatible.

d_kef
I wonder if it's the revision of the board that is messing with tolerances? My 464 is a first revision(basically hella old) tall key model and I haven't had a problem with it at all that wasn't to do with old firmwares being weird.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: d_kef on 18:35, 05 November 22
Quote from: Devlin on 18:02, 05 November 22
Quote from: d_kef on 16:23, 05 November 22My 464 with 40007 also refuses to cooperate with the USIFAC II. Same symptoms here. Constant reboots or lockups.
So I have to agree that there is something that makes the two of them incompatible.

d_kef
I wonder if it's the revision of the board that is messing with tolerances? My 464 is a first revision(basically hella old) tall key model and I haven't had a problem with it at all that wasn't to do with old firmwares being weird.
My 464 is also a tall key model.
I don't remember the exact mainboard revision but I'll open it up and take a look.

d_kef
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 21:20, 06 November 22
Thanks to Toto,i now have a 40007, i'll replace 40010 on my CPC464 (and a cpc6128 with old rev.a board which has both 40010&40007 sockets installed) and verify the theory that USIFAC II has problems with 40007...
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: NigeNigeNige on 10:10, 07 November 22
Quote from: WacKEDmaN on 21:45, 04 November 22sounds close to the same problem im having.....

@NigeNigeNige curious...which gate array is in your system? 40007?

@ikonsgr youve never tested with a 40007 correct? it was designed around the 40010? ...does your board have the 2nd slot for 40007? maybe i could send you one to test with? (i know there shouldnt be a difference, its looking like there is)


My board has a 40010, sorry this doesn't fit the theory. It's an MC0002C board with original Zilog Z80. 
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 13:55, 07 November 22
Quote from: NigeNigeNige on 10:10, 07 November 22My board has a 40010, sorry this doesn't fit the theory. It's an MC0002C board with original Zilog Z80. 
And also we have reports from people with a 40007 where it works. 

I also tried several things, even got a new 464 in case it's just my particular one. But no change. Still happening with other 464s. It looks like under certain conditions, the USIFAC does not provide the right data from ROM and the CPU cannot continue with the boot process. 
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: NigeNigeNige on 16:01, 08 November 22
Today I tried the USB board + the ROM board + my DDI-1/FD-1. 
Now I consistently get a "USIFAC II Enhanced (6f) + 512Kb Ram" on the boot screen and no freezes!
Removing the DDI-1 goes back to the old state of hanging on the boot.

The RAM seems to work and Amstrad Diagnostics reports it correctly. 128K software works. I don't have anything that needs more than that right now.

But, the switch button for rom/ram only works about once in 10 tries. The other times it resets the CPC and again shows 512Kb RAM. So I can't really use the ROM functions.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: d_kef on 20:27, 08 November 22
I opened up my 464 and the mainboard is a MC0001A PT NO 270100. I guess it's an old one.

But the strange thing is that when I replaced the on-board ROM with an EEPROM programmed with CPC664 OS+Basic the USIfAC boots up normally with or without the RAM/ROM board!!!
 
I then programmed the same EEPROM with CPC6128 OS+Basic and again the USIfAC boots up normally.

I thought maybe it's a problem with original the ROM (timing or whatever) and I programmed again my EEPROM with CPC464 OS+Basic.
To my surprise the USIfAC freezes the same way as with the original ROM.

When I have the CPC664 or CPC6128 ROM installed I can mount and run disk images normally but when I try to run/load/save directly from/to the USB then the CPC freezes and it comes back only with a power off/on.
Also |CAT works normally but CAT result in a freeze.

d_kef
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 21:00, 08 November 22
Quote from: d_kef on 20:27, 08 November 22I then programmed the same EEPROM with CPC6128 OS+Basic and again the USIfAC boots up normally.
I tried the same and programmed a 6128 firmware and Basic 1.1. 

In my case it did not change.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: poulette73 on 13:15, 09 November 22
Thanks for everything John! 👍

I received my new USIfAC II very quickly with its new DC3 connector.
It works perfectly with the new firmware 6f.
(https://i.servimg.com/u/f59/18/51/04/47/wifi1510.jpg)

And thank you also for this second chip in revision 6f, which I successfully installed on my other USIfAC II. 🙏😉
(https://i.servimg.com/u/f59/18/51/04/47/wifi1610.jpg)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: NigeNigeNige on 17:58, 09 November 22
Quote from: WacKEDmaN on 13:39, 09 November 22great idea with that new connector... looks much more robust.. but the extra unconnected pins... do they really need to be there (probably hard to remove them)

i decided to remove the USB module... just to see if maybe that was causing issues....

well i didnt get nothing!.. total black screen on trying to boot....

not sure if newer firmware requires the module...

ill have to borrow the pic programmer again and try some older firmware without the module connected... id be happy if i just had serial and or esp8266 connection
It would be more structurally sound if every pin was soldered, like with a socket even if you're not using all the pins. On my board only 3 pins are attached at the connector that attaches to the USB module, which looks a little fragile to me
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 14:51, 10 November 22
Maybe you got some hardware demon at your place. Better some it out!  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 13:14, 12 November 22
Sometimes it helps to have a break - well, honestly the weather isn't too helpful though. Good luck with all things CPC nevertheless.  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 13:18, 12 November 22
I just tried the 40007 with an old rev.a CPC6128 which has dual sockets for GA chips (one for 40010 and one for 40007), but it seems that chip is damaged, as i don't get any responce (of course amstrad works perfect using the 40010 on the other socket).
In anycase, all these weird problems described lately, are very similar to the problems i had with first prototype RAM/ROM boards, which only resolved when i increased thickness and width  of signal traces, especially for gnd and 5v supply (although M4 boards still seem to have problems when connected to RAM/ROM board, so i have further increase trace widths in a new revision of the RAM/ROM board)
When i designed USIfAC II board (which is rather small in size,thus signal traces on board are rather short too) i used default widths for traces (0.33mm for signals and 0.4mm for gnd/5v supply), which prooved to be ok for the vast majority of Amstrad boards.
But it seems that some Amstrad boards, for some reason, are more "signal sensitive" regarding hardware connecting to expansion port. At some point in the future, i will order a new batch of pcbs for USIfAC II, where i will improve design (e.g. wider traces for all signals, especially for gnd) and hopefully resolve such problems.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 09:38, 14 November 22
I'm not very familiar with oscillators but to me it seems that the NAND and the hex inverter, in combination with the crystal, create the 16MHz signal for the Gate Array. 

The 4MHz is then produced by the Gate Array.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: TotO on 09:47, 14 November 22
Yes, the 74HCU04 is famous to be using into oscillator circuits.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: d_kef on 15:26, 17 November 22
I see "(v3)" and "BASIC 1.1". Which ROM do you use?
Can you try with the original 464 ROM if you can find some time?

d_kef
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: d_kef on 17:52, 17 November 22
Quote from: WacKEDmaN on 16:19, 17 November 22
Quote from: d_kef on 15:26, 17 November 22I see "(v3)" and "BASIC 1.1". Which ROM do you use?
Can you try with the original 464 ROM if you can find some time?

d_kef
thats the 6128 ROM....

just tried the 464 ROM... it locks up after 2nd boot (just b4 usifac ROM line)...but pressing the reset button makes it work like usual

EDIT: back on the 6128 ROM...soldered the usb module back on (with some wires)...
but i cant change DSK with the disc swap button... and hitting the reset button causes lockup just b4 the rom line... only way to get it back is to power down the system (and do |usb again)...
also with the 6F firmware, CAT doesnt work, just locks up...(requiring power cycle to get it back).. |CAT works tho
im going to try removing the diode (it was never needed before!)
Exactly the behavior I observe with my USIfAC!!!
The diode in or out made no difference in my case.
Firmware 6d is the only one that is adequately usable with my setup.

d_kef
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: d_kef on 09:52, 18 November 22
Sorry to hear about that. It must be a big disappointment. :-[
Have you checked your PSU? Maybe you are lucky and it's just that.

d_kef
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: d_kef on 13:25, 18 November 22
Clock circuit maybe?
Have you checked the 16Mhz input and the 4Mhz output on the GA?

d_kef
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 09:46, 19 November 22
Quote from: WacKEDmaN on 01:56, 19 November 22....this is the SECOND time USIfAC has killed something on this board....
I knew that USIfAC II is a gotek killer, but i never thought it as an Amstrad killer too...   :D
Seriously now, the fact that you have different behavior, when you twist the edge connector ribbon cable, might be a strong indication that this is were the problem lies!
 I remember once, i also had weird erratic problems (and again it was on testing board with CPC464, it seems that 464 is more "signal sensitive" than 6128 models afterall...), and when i changed the ribbon cable (which it was rather old and heavily used for testing all the boards i make), everything worked perfect again!
Most probable, either the edge connector or the ribbon cable connections with the edge/idc connectors, issues tiny parasitic resistances on signals, that cause tiny time delays thus create the erratic problems... ::)
 Moreover, even the speed of rom/ram chips can cause such erratic problems. For example, RAM/ROM board (even earlier prototypes) seemed to work perfect on  Amstrads with EEPROM chips, but had problems with original rom chips. The differenece ofcourse is SPEED! eeprom is MUCH faster than original roms (~twice faster responce). Same goes for ram chips too, the very old CPC6128 from 1985 equipped with slow 250ns ram chips is the only one that gave me some video noise when used with RAM/ROM board.

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 19:37, 28 November 22
FINALLY:

IMG_20221128_202436_996.jpg

Yes, it is what it looks like, a CPC 464 with:
- Amstrad CPC 6128 FW ROM
- BASIC 1.1 ROM
- PARADOS ROM
- 2 ROM GAMES
- 256KB Expansion RAM...

1 lower rom+ 4 upper roms + 256KB RAM...ALLTOGETHER!  :D

And here is with FW3.15 variation:

IMG_20221128_205209_620.jpg


A simple RSX command will be incorporated into ULIfAC's firmware, that will transform a CPC464 to a CPC...6320 with PARADOS, in 2seconds!  ;D
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: TotO on 19:39, 28 November 22
What is wrong with the BASIC version? ;D
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 20:24, 28 November 22
Quote from: TotO on 19:39, 28 November 22What is wrong with the BASIC version? ;D
I've change it, to know if basic 1.1 rom loaded into SRAM, is the one loaded, and not the original in the rom chip  ;D
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: pappous on 08:22, 29 November 22
So Ulifac combines 2 boards, can you give us details and maybe when can make them for us :)

Also will it work for Amstrad 6128?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 19:16, 29 November 22
Quote from: pappous on 08:22, 29 November 22So Ulifac combines 2 boards, can you give us details and maybe when can make them for us :)
Also will it work for Amstrad 6128?

Yes, the idea is to "merge" USIfAC II and RAM/ROM board into one single board with some extra functionality:
- Dual mode will support up to 16XRoms+256kb Ram, instead of 2X roms of the ram/rom board
- Many utilities/programs that loaded externally, will be incorporated into board's ROM as simple rsx commands. For example, file manager and rom configuration utility.Also, there will be extra RSX commands,for easy loading PARADOS Rom on a CPC6128, or a "full conversion packet" of 6128FW+BASIC1.1+PARADOS/AMSDOS for CPC464.
- Due to some better signal handling in dual mode, Symbos (and perhaps other programs) now loads in dual mode too.
- Single board will allow to use a 3d case.

Of course board works on both CPC464 and CPC6128, but the main benefits will be for the CPC464.
As for availability and price, if all goes well, i will probably have first boards by early next year, for ~35-40euros each.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 20:01, 30 November 22
Have you made any tests if it works with FutureOS too?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 08:20, 01 December 22
Quote from: GUNHED on 20:01, 30 November 22Have you made any tests if it works with FutureOS too?
Future OS uses a lot of roms and if i remember correctly it also uses a custom program to place them, which unfortunately didn't seem to support USIfAC. If there is a way to place roms manually (e.g. what romfile goes to which rom slot),  give me a hint and i'll try it.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: pappous on 09:33, 02 December 22
So I have a question. Many of us have the usifac ii and we were thinking of buying the RAM/ROM board you had https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/new-multi-purpose-board512k-ram-expansion32x-rom-board256k-ram2x-rom-board/

Now you gave us the ulifac which is a a combination of 2 above boards.
What are the advantages and disadvantages of ulifac and usifac+RAM/ROM board except the one you mentioned about the single board and single 3d case.

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 22:00, 02 December 22
@ikonsgr 

I was wondering if this is possible to implement:-

When you Issue the |USB would it be possible to be included in the command a Reset as the last command ?

As I have to press the Reset every time I use the UsiFac II on either my 6128 or 464.

Thanks

Keep Safe

Ray
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Mark_wllms on 23:36, 02 December 22
You shouldn't need the reset on a 6128, unless you are using Parados, in which case you need the ¦DOS RSX as well.

Quote from: Audronic on 22:00, 02 December 22@ikonsgr

I was wondering if this is possible to implement:-

When you Issue the |USB would it be possible to be included in the command a Reset as the last command ?

As I have to press the Reset every time I use the UsiFac II on either my 6128 or 464.

Thanks

Keep Safe

Ray
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: poulette73 on 07:29, 03 December 22
@Audronic : as said above, you shouldn't need the reset on a 6128.
The |USB RSX works instantly, and USB device access is available without reset, everytime.

Could be a problem with the USB key (brand, or capacity) ? Maybe try with a smaller capacity. Or formatting ? For myself my USB key is in FAT system.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 10:29, 03 December 22
Quote from: pappous on 09:33, 02 December 22So I have a question. Many of us have the usifac ii and we were thinking of buying the RAM/ROM board you had https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/new-multi-purpose-board512k-ram-expansion32x-rom-board256k-ram2x-rom-board/
Now you gave us the ulifac which is a a combination of 2 above boards.
What are the advantages and disadvantages of ulifac and usifac+RAM/ROM board except the one you mentioned about the single board and single 3d case.
The main advantage is the ability to use 16roms along with 256kb ram, instead of 2roms with ram/rom board. And also the single board and 3d case you mentioned. For most Amstrad users, ram/rom boards are mainly useful for CPC464 that already have USIfAC II,as it will give you the ability to run games that need 128kb and/or cpc6128 fw/basic 1.1 .
Obviously, ULIfAC board would be the best choice for someone that don't have USIfAC II already (especially for CPC464), but since i already made ~300 USIfAC II boards, i thought it's good to have an add on ram/rom board too.


@Audronic, as Mark_wllms noted, you don't need to reset after giving |USB, and normally this also applies for CPC464 too. In anycase, if for some reason you need to reset Amstrad after giving |USB, you can also press CTRL+SHIFT+ESC or give a CALL 0, instead of pressing reset button.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 03:08, 04 December 22
Quote from: ikonsgr on 08:20, 01 December 22
Quote from: GUNHED on 20:01, 30 November 22Have you made any tests if it works with FutureOS too?
FutureOS uses a lot of roms and if i remember correctly it also uses a custom program to place them, which unfortunately didn't seem to support USIfAC. If there is a way to place roms manually (e.g. what romfile goes to which rom slot),  give me a hint and i'll try it.
Yes, FutureOS needs four ROM slots. But since todays ROM expansions usually have 512 KB it's not a problem. Currently there is no support for the USIfAC internal ROM because I don't know how to program it.
The installer runs from any disc or disc image, and installs to M4, Symbiface, X-MEM, FlashGordon, MegaFlash and so on. But it also allows to set up the ROM numbers, so you can install the four ROMs 'by hand' after setting up their ROM numbers :-)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 21:00, 04 December 22
Quote from: GUNHED on 03:08, 04 December 22
Quote from: ikonsgr on 08:20, 01 December 22
Quote from: GUNHED on 20:01, 30 November 22Have you made any tests if it works with FutureOS too?
FutureOS uses a lot of roms and if i remember correctly it also uses a custom program to place them, which unfortunately didn't seem to support USIfAC. If there is a way to place roms manually (e.g. what romfile goes to which rom slot),  give me a hint and i'll try it.
Yes, FutureOS needs four ROM slots. But since todays ROM expansions usually have 512 KB it's not a problem. Currently there is no support for the USIfAC internal ROM because I don't know how to program it.
The installer runs from any disc or disc image, and installs to M4, Symbiface, X-MEM, FlashGordon, MegaFlash and so on. But it also allows to set up the ROM numbers, so you can install the four ROMs 'by hand' after setting up their ROM numbers :-)
Well, even if we manage to install the roms, since there is no "mass storage" support for USIfAC II, it will not very useful to have just the OS installed...  ::)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 21:00, 04 December 22
Quote from: GUNHED on 20:01, 30 November 22Yes, FutureOS needs four ROM slots. But since todays ROM expansions usually have 512 KB it's not a problem. Currently there is no support for the USIfAC internal ROM because I don't know how to program it.
The installer runs from any disc or disc image, and installs to M4, Symbiface, X-MEM, FlashGordon, MegaFlash and so on. But it also allows to set up the ROM numbers, so you can install the four ROMs 'by hand' after setting up their ROM numbers :-)
Well, even if we manage to install the roms, since there is no "mass storage" support for USIfAC II, it will not be very useful to have just the FUTUREOS installed...  ::)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 22:14, 04 December 22
Quote from: ikonsgr on 21:00, 04 December 22
Quote from: GUNHED on 20:01, 30 November 22Yes, FutureOS needs four ROM slots. But since todays ROM expansions usually have 512 KB it's not a problem. Currently there is no support for the USIfAC internal ROM because I don't know how to program it.
The installer runs from any disc or disc image, and installs to M4, Symbiface, X-MEM, FlashGordon, MegaFlash and so on. But it also allows to set up the ROM numbers, so you can install the four ROMs 'by hand' after setting up their ROM numbers :-)
Well, even if we manage to install the roms, since there is no "mass storage" support for USIfAC II, it will not be very useful to have just the FUTUREOS installed...  ::)

Well, FutureOS should be able to work with your floppy disc emulation. If I understood you right, USIfAC II can even emulate the Vortex F1-D controller.
This way you could try drives A, B, E and F (to see DIR press space then letter of drive). Curious to know if it works.  :) :) :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 22:24, 04 December 22
Can you provide me a link with the 4 16k roms, and the numbers they should placed to?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 22:27, 04 December 22
Quote from: ikonsgr on 22:24, 04 December 22Can you provide me a link with the 4 16k roms, and the numbers they should placed to?
Yes, please go to www.futureos.de

There you click at "Downloads", then either use the set of ROMs (numbers 10-13) or get the installer DSK, which can adapt the desired ROM select numbers.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 22:44, 04 December 22
This is what i get:
futureos.jpg
It seems that except the 1 low rom , there are only dsk images and cpr files for cartridges... ::)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 00:10, 05 December 22
Ok,i found it in another download place  ;D
I manage to load FUTUREOS (even with low rom for instant os loading), but i couldn't load anything form a dsk image (BAS or BIN files), does futureos uses it's own executables?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 18:54, 05 December 22
Quote from: ikonsgr on 00:10, 05 December 22Ok,i found it in another download place  ;D
I manage to load FUTUREOS (even with low rom for instant os loading), but i couldn't load anything form a dsk image (BAS or BIN files), does futureos uses it's own executables?
Yes, of course, and you will find lot's of Apps in the download section too. I try to add a DSK image here...

BTW:
To download DSKs and ROMs please click at the most upper buttons of my homepage. You scuccessfully clicked at the first one. The second one is 2 cm lower on screen.

Also there is a youtube channel to see how to work with FutureOS.
Please let me know if something is missing :-)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: shacpc on 06:56, 19 December 22
Quote from: WacKEDmaN on 04:12, 19 December 22flashing AT firmware
Can you put a small guide on how you have done the AT flashing on the wifi device? thanks
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: XeNoMoRPH on 11:11, 23 December 22
Hi @ikonsgr !!!
Could you make this game work on Usifac II?, thx  :)

Prince of Persia [Joseman Mass Storage 2022]


download: https://github.com/sJoseman/amstrad/blob/751a35b2de6183e9d65e1a145f96c87297b33c3d/Prince%20of%20Persia%20%5BJoseman%20Mass%20Storage%202022%5D.zip


Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 22:31, 23 December 22
Quote from: XeNoMoRPH on 11:11, 23 December 22Hi @ikonsgr !!!
Could you make this game work on Usifac II?, thx  :)
Prince of Persia [Joseman Mass Storage 2022]
download: https://github.com/sJoseman/amstrad/blob/751a35b2de6183e9d65e1a145f96c87297b33c3d/Prince%20of%20Persia%20%5BJoseman%20Mass%20Storage%202022%5D.zip
I suppose this is only for M4 boards (probably because dsk image of game has problems loading with M4). With USIfAC II you can use the dsk image of game, you can find it here (https://www.dropbox.com/s/7vpwjvnww9y7fc4/prince.DSK?dl=0) (it's included in the Classic & worth to play list  (https://www.cpcwiki.eu/forum/games/how-about-making-a-'worth-to-play'-collection-of-amstrad-games).
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 22:31, 23 December 22
Quote from: ikonsgr on 22:31, 23 December 22---
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 09:55, 27 December 22
I would be great a HTTPGET RSX command in the USIFACII ROM instead the games.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 02:20, 31 December 22
Quote from: WacKEDmaN on 07:08, 27 December 22hmm it seems |COM has an issue where it sends the full string in uppercase.. i cant connect to Wifi as password is sent all uppercase.. i also cant access websites that rely on lowercase in the URL.. (eg cant access http://192.168.0.16/all ..it sends HTTP://192.168.0.16/ALL)

heres a vid of the esp32 commands in use...
Indeed, i use uppercase command because AT commands should be in upper case, but this might cause problems with arguments in lowercase.
Anyway, it's very easy to fix this, give |COM and then type "quit", then give a list command and delete the basic line: 40 A$=UPPER(A$). Then just run again the program and problem should be fixed. Mind only that AT commands should be in uppercase for the esp module to accept them.

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 17:43, 01 January 23
New year brings another small firmware update (6g) (https://www.dropbox.com/s/euju6f40h2tr0kj/18f47q10_6g.zip?dl=0) :

- bug fix:|COM arguments of AT commands are not converted to uppercase (AT commands must given in upper case though)
- bug fix:|SIZE hungs up if usb device is not enabled
- |HELP: Add |SIZE RSX command to the list


Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: shacpc on 22:58, 01 January 23
Quote from: ikonsgr on 17:43, 01 January 23New year brings another small firmware update (6g) (https://www.dropbox.com/s/euju6f40h2tr0kj/18f47q10_6g.zip?dl=0) :
- bug fix:|COM arguments of AT commands are not converted to uppercase (AT commands must given in upper case though)
- bug fix:|SIZE hungs up if usb device is not enabled
- |HELP: Add |SIZE RSX command to the list
updated my devices successfully. thanks for the support, ikonsgr
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: dhester on 01:41, 02 January 23
Not sure if this is the right place, but I just  wanted to say publicly thank you to ikonsgr (John) for helping me and taking time to answer my emails to help me with the RAM/ROM board and the Serial board.


THANK YOU IKONSGR
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: erebos007 on 01:50, 03 January 23
Hi ! 

I'd like to order 1 board if available and compatible with my 6128+, please.
Also, do you sell the 3D printed case as well ?

Thx ! 
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: kfx on 02:39, 03 January 23
Quote from: ikonsgr on 17:43, 01 January 23New year brings another small firmware update (6g) (https://www.dropbox.com/s/euju6f40h2tr0kj/18f47q10_6g.zip?dl=0) :

For your great work, continued support and patience for all: those of us who are just happy to have a (magic) USIfAC; those who want more and want it NOW; those who are impressed and interested and want to understand how you did it in excruciating detail; and those who bring you problems you never expected but deal with with grace. THANK YOU.



Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 23:12, 03 January 23
Ok, this is something i worked for the new ULIfAC board,but i managed to just "squeeze" it in USIfAC's firmware too :)
Dedicated to all you lazy boys out there:

https://www.dropbox.com/s/ord86tymhghmu35/auto_usb.mp4?dl=0

Yes, it's an optional automatic activation of usb device on cold boot, no more tiresome writing of |USB everytime you power on your Amstrad! :P
  And funny thing is, that on CPC464, doesn't need dual reset too!
You can simply enable/disable this feature by giving out &fbd1,92 for enable or out &fbd1,93 for disable. Also |STAT now informs you for the status of auto usb activation:

IMG_20230104_000625_741.jpg

I've updated the last firmware (6g) to include this new feature, feel free to try it and give me any feedback about potential problems. ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: poulette73 on 07:12, 04 January 23
Great !! Nice improvement ! 👌


Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 09:57, 04 January 23
Quote from: WacKEDmaN on 23:43, 03 January 23..does anyone know of a way to program it with another mcu like arduino? or is pickit the only real option?
I haven't found any other option and bought the Pickit3. That's probably the downside of a PIC based extension that you require a Pickit3 board to update it. I just checked prices and I'm surprised that it's now 43€ vs 23€ when I bought mine a year ago on Amazon.

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 12:00, 04 January 23
Quote from: WacKEDmaN on 23:43, 03 January 23btw @ikonsgr .. i notice a small bug... your image shows the Interface ROM number 5 but the revision hasnt been updated! :P
Fixed and uploaded, thanks! ;-)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: shacpc on 19:47, 06 January 23
Hi John, the FW download link with new update? ... you have put one of dropbox with a video.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: shacpc on 21:16, 06 January 23
Quote from: ikonsgr on 12:00, 04 January 23
Quote from: WacKEDmaN on 23:43, 03 January 23btw @ikonsgr .. i notice a small bug... your image shows the Interface ROM number 5 but the revision hasnt been updated! :P
Fixed and uploaded, thanks! ;-)
Hi John, the FW download link with new update? ... you have put one of dropbox with a video.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 21:57, 06 January 23
Quote from: shacpc on 21:16, 06 January 23Hi John, the FW download link with new update? ... you have put one of dropbox with a video.

https://www.dropbox.com/s/euju6f40h2tr0kj/18f47q10_6g.zip?dl=0
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: shacpc on 23:14, 06 January 23
Quote from: ikonsgr on 21:57, 06 January 23
Quote from: shacpc on 21:16, 06 January 23Hi John, the FW download link with new update? ... you have put one of dropbox with a video.

https://www.dropbox.com/s/euju6f40h2tr0kj/18f47q10_6g.zip?dl=0
Updated my devices! This improvement of USB autostart is fantastic.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 01:56, 11 January 23
Quote from: ikonsgr on 23:12, 03 January 23Ok, this is something i worked for the new ULIfAC board,but i managed to just "squeeze" it in USIfAC's firmware too :)
Dedicated to all you lazy boys out there:
Hi John
"Lazy Boy" Here.

Thanks for the Auto USB
It also works with the CPC6128 Rom fitted to my CPC464

PS:- I had to change my USB Stick as it was to SLOW.

Thanks

Keep Safe

Ray
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: shacpc on 18:00, 11 January 23
Quote from: Audronic on 01:56, 11 January 23
Quote from: ikonsgr on 23:12, 03 January 23Ok, this is something i worked for the new ULIfAC board,but i managed to just "squeeze" it in USIfAC's firmware too :)
Dedicated to all you lazy boys out there:
Hi John
"Lazy Boy" Here.

Thanks for the Auto USB
It also works with the CPC6128 Rom fitted to my CPC464

PS:- I had to change my USB Stick as it was to SLOW.

Thanks

Keep Safe

Ray
Hi, can you explain how you configured the rom basic 1.1 in usifac for a cpc464?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 22:38, 13 January 23
Quote from: WacKEDmaN on 20:26, 11 January 23with the ram/rom board it will need some setup.....
You just run "6128.BAS" found here: https://www.dropbox.com/s/ddu058gqvu4jvn0/RAM-ROM%20BOARD.zip?dl=0
This will automatically replace Firmware and basic roms of CPC464, with CPC6128 versions ;-)
 
   
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: shacpc on 18:47, 16 January 23
Quote from: ikonsgr on 22:38, 13 January 23
Quote from: WacKEDmaN on 20:26, 11 January 23with the ram/rom board it will need some setup.....
You just run "6128.BAS" found here: https://www.dropbox.com/s/ddu058gqvu4jvn0/RAM-ROM%20BOARD.zip?dl=0
This will automatically replace Firmware and basic roms of CPC464, with CPC6128 versions ;-)
 
 
Hi John, It would be interesting to incorporate an autorun command  from USB when starting USIfAC II in order to have the possibility to run a concrete program or ROM at startup. The M4 device has this option and it is very useful.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: erebos007 on 21:18, 17 January 23
Hello ! 
Board(s) received ! Thx Ikonsgr :D 
Pin 1 of the Ram board's expansion connector is right side when plugged in the back of the CPC (for me to plug USIfAC II on the ram board) ?
Also, I got a ESP8266MOD to try on the USIfAC. Do I need to use your ESP8266_flasher first ?









Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 23:00, 17 January 23
Quote from: erebos007 on 21:18, 17 January 23Hello !
Board(s) received ! Thx Ikonsgr :D
Pin 1 of the Ram board's expansion connector is right side when plugged in the back of the CPC (for me to plug USIfAC II on the ram board) ?
Also, I got a ESP8266MOD to try on the USIfAC. Do I need to use your ESP8266_flasher first ?

 This is how you plug USIfAC (or any other board) into ram/rom board idc connector: https://www.cpcwiki.eu/forum/index.php?action=dlattach;attach=37524
Generally ,esp modules are pre-flashed, but some you might need to flash them first. You give it a try at first and if it doesn't work, then you flash it ;-)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 23:05, 17 January 23
Quote from: shacpc on 18:47, 16 January 23Hi John, It would be interesting to incorporate an autorun command  from USB when starting USIfAC II in order to have the possibility to run a concrete program or ROM at startup. The M4 device has this option and it is very useful.

 well,i thought of having something like autoexec.bat in dos, something like a simple BASIC listing with any commands you might want to execute at boot, but the problem is that, Basic is initialized last, at the time of USIfAC's ROM initialization, you can't execute anything yet :)
  I don't know if it's possible to initiate BASIC initialization inside initilization code of USIfAC's ROM this might solve the problem, but it needs further investigation. In any case, this is something for the ULIfAC board only, there is no room for anything extra in USIfAC program memory anymore  :D
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 23:20, 17 January 23
Btw, the 1st ULIfAC board is made and tested:

IMG_20230118_001558_214.jpg

I've included Amstrad Diagnostic tool (|DIA), romconfiguration utlity (|ROM), and easy loading of PARADOS (|PARA). Ofcourse the best part is the |6128 which converts in 2 seconds a CPC464 to a CPC...6320   :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: erebos007 on 00:30, 18 January 23
@ikonsgr  The fusion between the USIfAC and the Ram/Rom board ?  :P
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Philippe Lardenois on 15:43, 18 January 23
Great news. A All in one board.
Count me for one Sir.
Phil
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: entelle42 on 10:13, 19 January 23
Quote from: ikonsgr on 23:20, 17 January 23Btw, the 1st ULIfAC board is made and tested:

IMG_20230118_001558_214.jpg

I've included Amstrad Diagnostic tool (|DIA), romconfiguration utlity (|ROM), and easy loading of PARADOS (|PARA). Ofcourse the best part is the |6128 which converts in 2 seconds a CPC464 to a CPC...6320  :)
Great work!!  ;) I'm in
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 10:38, 19 January 23
Quote from: WacKEDmaN on 02:29, 18 January 23do you plan to opensource the board at all? id like to get some made up in black to match my black cpc board...
Since this is a brand new board, and although board works fine with my 4 Amstrad CPC (3 X CPC6128 and one CPC464) it would be better to let some time pass, have some people get the board and test it, to ensure that everything is ok.   Then i will release the gerber files for anyone wants to build one himself. :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 10:47, 19 January 23
Quote from: WacKEDmaN on 21:48, 18 January 23also |PARA ....what happened to |DOS ?...surely |PARA isnt needed, or the |DOS section of usifac be used for something else
They have different function:
- |DOS selects which DOS Rom to use (Amsdos or PARADOS) for |464 and |6128 commands.
- |PARA installs directly parados rom and resets Amstrad CPC to dual mode (256K RAM+16X ROM board). It's a command mainly for CPC6128, for easily gain  fast access to parados images, without needing the slower emulation of |464.
With ULIfAC, |464 becomes practically obsolete (as you use |6128 for CPC464  or |PARA for CPC6128), but i kept it for backwards compatibility reasons ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 11:00, 19 January 23
Quote from: WacKEDmaN on 20:01, 18 January 23
Quote from: ikonsgr on 23:20, 17 January 23I've included Amstrad Diagnostic tool (|DIA)
i think that would be better swapped out for something else....
the only reason i say it, is if your CPC is booting and you can type |DIA ...then the CPC is working fine and you dont need the diag!..and ifyou do want to use it, ya can load it from disk...or just the bin.. directly via the usifac portion...
also, ive just read that the PIC18F47Q10..is on back order for a few guys trying to get one for 68k-MBC2 board....
have you secured a bunch of PIC chips ikonsgr?
If your Amstrad doesn't boot at all, you might need to install Diagnostic ROM as low rom, but in order to do that with ULiFAC or RAM/ROM board, you need to boot amstrad properly first ;D  Anyway,diagnostic tool it's very useful for checking amount/status of RAM, get a list of installed ROMS and their rom numbers, check keyboard/joystick functionality etc. It's just a matter of speed and simplicity to have diganostic tool RSX command, as you don't need to use a usb stick or external connection to load the utility,just power on your amstrad and give |DIA ;-)
About availability of PIC chips, indeed there is a MAJOR problem with that. I currently have more than 100 of PIC chips, and a backorder of 200 more from microchip, with estimated arrival at the end of 2023. Depending on how sales of boards will go, there might be a "gap" for a few months, probably after summer, until i get the new batch of PIC chips.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: poulette73 on 18:02, 19 January 23
Hi John,

Thank you for this new firmware (6g), the Auto USB function is a nice improvement!

Now we have access to the USB key when starting the CPC, without using any RSX:

(https://i.servimg.com/u/f59/18/51/04/47/firmwa10.jpg)

Of course the function can be deactivated (OUT &FBD1,93) or activated (OUT #FBD1,92) according to need. 👍
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Squeekboxandj on 22:41, 23 January 23
Quote from: ikonsgr on 23:20, 17 January 23Btw, the 1st ULIfAC board is made and tested:

IMG_20230118_001558_214.jpg

I've included Amstrad Diagnostic tool (|DIA), romconfiguration utlity (|ROM), and easy loading of PARADOS (|PARA). Ofcourse the best part is the |6128 which converts in 2 seconds a CPC464 to a CPC...6320  :)
Count me in too. Awesome
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 11:35, 27 January 23
Ok, since i started to give some ULIfAC boards, here are the new RSX commands for it:

|FM: Loads file manager
|FSM: loads file size manager (same as above, but it also shows size of each file, but it's slower than File manager)
|6128: Loads CPC 6128 Firmware ROM, Basic 1.1 ROM, AMSDOS/PARADOS Rom (depending on the emulation mode selection, using |DOS RSX command), and resets Amstrad to DUAL RAM/ROM mode. This command practically converts any CPC464 to CPC6128 with 256Kb extra RAM!
|PARA: Loads parados rom and resets Amstrad to dual RAM/ROM mode. Use this instead of |464 if you want to have faster access of large parados dsk images.
|MROM,"filename",X: Loads a rom from usb stick to rom slot X and activate it (e.g. after reset in 32X ROM mode or DUAL RAM/ROM mode the specific rom slot will be initialized). 'X' can be 0-31 for 32X ROM BOARD mode, or 0-15 for dual RAM/ROM mode
|ROM: Loads the configuration utility (https://www.dropbox.com/s/8fu9v5okao9s6nh/Romconf.txt.txt?dl=0) for setting up rom mode, roms, enable lower rom etc.
|TYPE,"file":Displays on screen ascii/text files. For larger texts, use SPACE to pause printing.
|DIA: Loads the Amstrad CPC diagnostic utility (https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/amstrad-diagnostics-rom/) where you can check & test  RAM/ROMS/KEYBOARD/JOY etc

You can find the above here (https://www.dropbox.com/s/f7cp8vtrhph6ow5/ULIfAC_NEW_RSX_COMMANDS.txt?dl=0) too.
Of course, all previous USIfAC II RSX commands still exist and function as they were, as all I/O commands @ &EF00 for RAM/ROM board (https://www.dropbox.com/s/40ocl6dzrdbksz0/Readme.pdf?dl=0) too.
Note only that, |464 is rendered obsolete (since now you can use |6128 for CPC464 or |PARA for CPC6128), but i kept it for compatibility reasons.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: dhester on 13:08, 27 January 23
My ULIfAC arrived this morning, I will test it over the weekend and report back.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Philippe Lardenois on 17:22, 31 January 23
Hi John, received the new board. Thanks a lot.

First tests are ok except with file Manager which hangs on loading the main menu.

My USB stick is a 16Go formatted in FAT32 (8192 allocs). LiliCPC pack 0.9 on it only.
When I try |FM command, it starts, and read the USB stick but hangs with garbage on screen (few dots only). So tried with the FM software on USB and same happened after I answer "no" to the old board question.
Changed with my Gotek USB stick (same brand, same parameters for formatting) and it works.

So tried with a 256Mb stick and 32 GB stick but same problems.

Notice that the USB keys are working well if I lauch files from the usual commands under Amsdos.

What could be wrong ?
Thanks

[EDIT] ok found the problem - too many files on the root of the USB disk. Remembered that you mention "no more than 1 000 files per directory). Is this limitation makes sense or is it a hardware limitation ?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 21:20, 31 January 23
Hello

I this program:

20 himemant=HIMEM : MEMORY &1800-1 : LOAD"prg.bin",&1800

when I run I get "Syntax error in 20".  It fails on LOAD"prg.bin",&1800

I use 6d firmware

What is it happening?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 22:03, 31 January 23
Quote from: Philippe Lardenois on 17:22, 31 January 23Is this limitation makes sense or is it a hardware limitation ?
Actually it's Amstrad's memory limitation, as you need to have the hole directory list at once in memory  ;D
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 22:05, 31 January 23
Quote from: Fran123 on 21:20, 31 January 23Hello

I this program:

20 himemant=HIMEM : MEMORY &1800-1 : LOAD"prg.bin",&1800

when I run I get "Syntax error in 20".  It fails on LOAD"prg.bin",&1800

I use 6d firmware

What is it happening?
If i remember correctly, 6d had some bugs indeed so i quickly replace it with 6e/6f. So i suggest to update to firmware 6g, most probable the problem will resolve: https://www.dropbox.com/s/euju6f40h2tr0kj/18f47q10_6g.zip?dl=0
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 22:07, 31 January 23
I have recently updated to 6g, and am loving the auto-USB init. Saves me five whole keystrokes, but it's great.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 22:12, 31 January 23
And going against the tide of rising prices, i announce a price decrease for all boards:

USIfAC II+Edge connector cable:   26euros from 27euros
ULIfAC +Edge connector cable:     43euros from 45euros
RAM/ROM BOARD:                          28euros from 29euros


All prices include register/tracked shipping.
I manage to get a batch of PIC MCU chips cheaper, thus the price cut!  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: leexus on 09:59, 01 February 23
Hi John, The ULIfAC arrived today, thanks! I will test it on 6128 plus and report the results here.
 
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 10:58, 01 February 23
Quote from: Fran123 on 21:20, 31 January 23Hello
I this program:
20 himemant=HIMEM : MEMORY &1800-1 : LOAD"prg.bin",&1800
when I run I get "Syntax error in 20".  It fails on LOAD"prg.bin",&1800
I use 6d firmware
What is it happening?
It seems that it was a flash drive error, over and over again it did not copy completely.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 11:01, 01 February 23
Hello

Last year I made an application to lauch programs with UsifacII using menus. Now I have made other app for PC to make the menus faster and using the LiliCPC catalog.  You can see more details ih https://www.cpcwiki.eu/forum/applications/mmm-menusi-menu-maker/msg225307/ (https://www.cpcwiki.eu/forum/applications/mmm-menusi-menu-maker/msg225307/)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: TotO on 12:37, 01 February 23
Quote from: ikonsgr on 22:12, 31 January 23And going against the tide of rising prices, I announce a price decrease for all boards. All prices include register/tracked shipping.
It is better to not include the shipping fees into your prices, while people can live into the same country as you or can expect to order more than one expansion. I have probably missed something: What is the expensive part into the ULIfAC expansion?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 13:16, 01 February 23
Quote from: TotO on 12:37, 01 February 23
Quote from: ikonsgr on 22:12, 31 January 23And going against the tide of rising prices, I announce a price decrease for all boards. All prices include register/tracked shipping.
It is better to not include the shipping fees into your prices, while people can live into the same country as you or can expect to order more than one expansion. I have probably missed something: What is the expensive part into the ULIfAC expansion?
That's easy, shipping is 6euros for all boards :)
ULIfAC compared to USIfAC II, has 2 MCU's, extra logic chips, the 512KB Sram chip, a much more expensive pcb board and ofcourse, it needs much more time to make and test it.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 23:11, 01 February 23
Well, would it make sense to have two threads. USIfaC II and ULIfAC?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 13:09, 04 February 23
can we get ulifac yet?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: wolfgang on 12:48, 05 February 23
Quote from: ikonsgr on 22:12, 31 January 23And going against the tide of rising prices, i announce a price decrease for all boards:

USIfAC II+Edge connector cable:  26euros from 27euros
ULIfAC +Edge connector cable:    43euros from 45euros
RAM/ROM BOARD:                          28euros from 29euros


All prices include register/tracked shipping.
I manage to get a batch of PIC MCU chips cheaper, thus the price cut!  ;)
Hi John,

so the ULIFAC is already the combination of USIFAC II and the new RAM/ROM board? And its not really much bigger than the USIFAC II as far as I can see on your picture, right?
If correct I order one ULIFAC to be sent to Austria.
Question, I have two working USIFAC II, do you have sufficient PIC's in stock or would it make sense to send the USIFAC's back to you so you can use their PIC's? 
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: leexus on 16:59, 05 February 23
Quote from: ikonsgr on 11:59, 04 February 23@ GUNHED, i want first to make the new user guide for ULIfAC and also some board modifications i have in mind, and then "officially" open a new thread for ULIfAC  ;)
@ikonsgr John, that would be nice to add 2 more LEDs on the board to indicate read and write activity of the USB storage.
What do you think? Can this be done?
Furthermore, the current USB connection LED is not visible on ULiFAC, the blue board hiding the LED light at normal light conditions. But I guess this LED is not so important since the USB connection is automatically built by the new board and its firmware.
Maybe an RTC can be also interesting for SymbOS users, but I guess we can survive without it. :-)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 20:12, 05 February 23
Quote from: wolfgang on 12:48, 05 February 23so the ULIFAC is already the combination of USIFAC II and the new RAM/ROM board?
Yes, with some added features like having dual mode with 16XROM board+256k RAM

Quote from: wolfgang on 12:48, 05 February 23And its not really much bigger than the USIFAC II as far as I can see on your picture, right?
ULIfAC is ~10cmX8.5cm it's actually a little bigger than ram/rom board (8.5cmX7cm)


Quote from: wolfgang on 12:48, 05 February 23If correct I order one ULIFAC to be sent to Austria.
Question, I have two working USIFAC II, do you have sufficient PIC's in stock or would it make sense to send the USIFAC's back to you so you can use their PIC's? 
Yes,i have enough PIC chips,and i expect a big batch of 200chips in a couple of months, so i believe there will be no problem regarding PIC supply  :)  If you want give me msg to arrange it with USIfAC and ULIfAC  exchange.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 22:08, 07 February 23
Quote from: leexus on 16:59, 05 February 23@ikonsgr John, that would be nice to add 2 more LEDs on the board to indicate read and write activity of the USB storage.
What do you think? Can this be done? Furthermore, the current USB connection LED is not visible on ULiFAC, the blue board hiding the LED light at normal light conditions. But I guess this LED is not so important since the USB connection is automatically built by the new board and its firmware.
It can be done of course, but to tell you the truth i find these blinking leds a bit distracting and with low ambient light they can be even annoying...  :D 

Quote from: leexus on 16:59, 05 February 23Maybe an RTC can be also interesting for SymbOS users, but I guess we can survive without it. :-)
That would be a good idea, but maybe first we should wait for USIfAC II to be supported by symbos as compatible mass storage device  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Prodatron on 23:46, 07 February 23
Quote from: ikonsgr on 22:08, 07 February 23
Quote from: leexus on 16:59, 05 February 23Maybe an RTC can be also interesting for SymbOS users, but I guess we can survive without it. :-)
That would be a good idea, but maybe first we should wait for USIfAC II to be supported by symbos as compatible mass storage device  :)
I agree.
Hope I will have some time for the CPC again soon! Providing mass storage support in SymbOS shouldn't be that difficult, as I already have drivers for hardware with the same core. But I just have to reserve some days for adapting them for the USIfAC II, which would be really cool.
Anyway I am very glad that we have another very good multipurpose hardware for the Amstrad, thanks a lot, Ikonsgr, for your great work!
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 16:14, 08 February 23
In case an RTC will be added, it would be great to have one being compatible to an already existing RTC. Today we have:
- M4 RTC (or NTC if you prefer to call it that way)
- Dobbertin / dxs clone
- RTC in Nova card
- RTC in the LambdaSpeak (III or FS)
- SF2 RTC
- SF3 RTC

One of them should be very easy to be emulated on hardware level - it depends what you like to use.

However, in my personal opinion it would be as desirable to have some more RAM and ROM at the same time.

Just my 'Drei Pfennige'. Just some ideas. Go on with this great project!  :) :) :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Prodatron on 22:12, 08 February 23
Quote from: GUNHED on 16:14, 08 February 23In case an RTC will be added, it would be great to have one being compatible to an already existing RTC.
I don't like virtual rom implementations so much, better go for real I/O.

The SF3 is even more worse, it is based on a multi purpose command channel, which isn't good for multitasking.
Nova is ok, as you can choose where to map the 8k.
No idea about the LambdaSpeak.
I would prefer the SF2 way in the first place.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 10:16, 09 February 23
the |httpget command would add a lot of flexibility to usifac/ulifac.
in ulifac, having several roms there are no space problems.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Apollo on 12:16, 09 February 23
Quote from: eto on 11:51, 09 February 23
Quote from: WacKEDmaN on 09:54, 09 February 23i really dont get why im the only one having these sorts of issues...
you are not.

Usifac II works on my 6128 but it's barely usable on a 464 or a 6128 Plus.
Oh! :o That would be a problem because I wanted to try it mainly for my 6128plus as I hardly use my normal 6128 anymore for development.

@ikonsgr Is the RAM fully Plus compatible like the new RAM from PulkoMandy? That would be another really important feature IMHO for a multipurpose expansion.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Prodatron on 16:52, 09 February 23
If the software cares about it, "classic" ram expansion should work on a Plus with activated ASIC as well. Somewhere here is a detailed thread about it.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 16:55, 09 February 23
Quote from: Prodatron on 22:12, 08 February 23I don't like virtual rom implementations so much, better go for real I/O.

The SF3 is even more worse, it is based on a multi purpose command channel, which isn't good for multitasking.
Nova is ok, as you can choose where to map the 8k.
No idea about the LambdaSpeak.
I would prefer the SF2 way in the first place.

Agreed! :)  Real I/O is preferable, because it can be used independent of the location of the application or driver. SF2 for sure is simple and quick to be used. Also an compatible RTC should be available.

BTW: LambdaSpeak does everything using I/O ports. But to read the RTC is a bit more complex compared to the SF2.

It really would be cool to have a compatible solution (SF2!?!) instead of one more solution  :) :) :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 12:23, 11 February 23
Finally, after A LOT of trials & testing i manage to support the notorious C3 mode on a CPC 464 using ULIfAC:

IMG_20230211_123415_309.jpg

IMG_20230211_123437_644.jpg

In the end all it was needed was a minor modification of the board.
 The trick was to use a 16k block of the 512kb sram as a shadow video ram which is activated whenever the c3 mode is activated. Of course this reduces somehow the available extra RAM. In the end the only thing needed was to change common pin of the network resistor (that drives the 5 highest address bits of sram). These  previously used as pull down only, for low rom activation, but now it's connected to "rom enable" pin, thus it can be also used as pullup, for activating the highest 16k block of 512kb sram and use it a "shadow video ram"!
Anyway, i order a new batch of boards hopefully the last  and "official" one, and next time i mention ULIfAC would be in it's own thread!  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 16:28, 11 February 23
A well way to see if the RAM mode &C3 work is this: Start FutureOS and see if you can move the pointer. If it leaves a trace then mode &C3 isn't fully implemented. ;) :)

Up to now only Revaldhino could do that for the CPC464. It would be awesome if the ULIfAC can do this too.  :) :) :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 13:16, 12 February 23
Quote from: GUNHED on 16:28, 11 February 23A well way to see if the RAM mode &C3 work is this: Start FutureOS and see if you can move the pointer. If it leaves a trace then mode &C3 isn't fully implemented. ;) :)

Up to now only Revaldhino could do that for the CPC464. It would be awesome if the ULIfAC can do this too.  :) :) :)

 Unfortunately, Future os (as well as symbos) doesn't work right on CPC464. For some reason these OS  don't seem to like the masking of MREQ signal (in order to avoid write of the internal ram on the same address), although extra ram and dual mode (ram+rom board together) seems to work ok with everything else i've tried on cpc 464 (3 different mem diagnostic tests, dozens of games requiring 128k ram, low+upper roms along with 256k ram).
Also, i just tried batmanforever demo which i also think it needs c3mode, and it seems to run ok on CPC 464  (previously it couldn't pass the initial screen even when using cpc6128 fw and 256k extra ram but without C3 mode correctly implemented)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 14:50, 12 February 23
True this. FutureOS was initially made for CPC6128 and 6128plus (back the day when I started to develop it mode of the active CPC users went for these two machines. CPC664 was sold in small numbers anyway, and CPC464 was outdated somehow - that was the Zeitgeist of the 90ies. Around late 90ies to year 2000 on ebay they had lots of CPC6128 which went to the customer for around 10 Euros - However, it may have been different in other countries, guess in GB people loved the CPC464 more). 

And SymbOS, as far as I know it works with pretty much everything CPC. 

Anyway, my idea was just for testing &C3 mode (with proper relocation of the screen). But that can be done with other means too. 

Keep your great work going! I still love to work with my USIfACs, which sometime are used as CPC LAN.  :) :) :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: d_kef on 15:13, 12 February 23
A good test for C3 mode would be CP/M Plus.
It won't boot unless C3 mode works properly.
You will also need the 6128 ROM installed.

d_kef
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Prodatron on 19:55, 12 February 23
Quote from: ikonsgr on 13:16, 12 February 23Unfortunately, Future os (as well as symbos) doesn't work right on CPC464. For some reason these OS  don't seem to like the masking of MREQ signal (in order to avoid write of the internal ram on the same address)
SymbOS requires #C4-#C7, #C1 and #C2.
AFAIK some memory expansions don't work 100% in #C1 and/or #C2 mode on the 464. E.g. the SYMBiFACE II.
But e.g. X-Mem and SYMBiFACE 3 works fine with a 464.
It probably makes a difference, if a program is only reading from memory in #c1/#c2 mode or is writing as well.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: andycadley on 21:02, 12 February 23
Quote from: Prodatron on 16:52, 09 February 23If the software cares about it, "classic" ram expansion should work on a Plus with activated ASIC as well. Somewhere here is a detailed thread about it.
No, a "classic" expansion doesn't work. You can avoid the particular use cases that cause conflicts but that isn't really the same thing. It's better to just accept that expansions like the Usifac just aren't really Plus compatible.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Prodatron on 21:04, 12 February 23
"Doesn't work" is a hard word. I am not sure, but wouldn't it already be ok, if the ASIC and the ram expansion isn't mapped in at the same time at #4000?
As Plus software should know about this, it could be a solution for many cases.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: andycadley on 21:23, 12 February 23
Quote from: Prodatron on 21:04, 12 February 23"Doesn't work" is a hard word. I am not sure, but wouldn't it already be ok, if the ASIC and the ram expansion isn't mapped in at the same time at #4000?
As Plus software should know about this, it could be a solution for many cases.
Yeah, but that's working around the bug and it's actually difficult to do in practice because you find yourself really wanting to use the C1/C2/C3 paging arrangements (because you want all that extra RAM for sprite data) and they're not compatible. Trying to actually use 128K and not have banked RAM and the ASIC registers paged in just cripples the machine.

Worse than that, it confuses people who plan to buy the hardware. There is quite a lot of 128K Plus software that only works with RAM expansions that are Plus compatible, so it's better not to mislead people by suggesting these devices are.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 22:47, 12 February 23
Quote from: andycadley on 21:23, 12 February 23Worse than that, it confuses people who plan to buy the hardware. There is quite a lot of 128K Plus software that only works with RAM expansions that are Plus compatible, so it's better not to mislead people by suggesting these devices are.
According to leexus (https://www.cpcwiki.eu/forum/index.php?msg=225487) RAM expansion of ULIfAC works ok with plus machines, so maybe it's a bit unfair to suggest that these devices are NOT plus compatible  :) 
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: andycadley on 23:43, 12 February 23
Quote from: ikonsgr on 22:47, 12 February 23
Quote from: andycadley on 21:23, 12 February 23Worse than that, it confuses people who plan to buy the hardware. There is quite a lot of 128K Plus software that only works with RAM expansions that are Plus compatible, so it's better not to mislead people by suggesting these devices are.
According to leexus (https://www.cpcwiki.eu/forum/index.php?msg=225487) RAM expansion of ULIfAC works ok with plus machines, so maybe it's a bit unfair to suggest that these devices are NOT plus compatible  :) 
The hardware has to be built to monitor the ASIC unlock sequence and fundamentally understand how RMR2 works or it just will not work properly. It's not something that can just happen without it being built to do so.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 11:35, 13 February 23
Well, let me state a few things about PLUS machines:
- I NEVER owned an Amstrad PLUS so i never test any of my boards with it.
- I NEVER stated that any of my board is "PLUS certified", on the contrary, i always notify anyone told me that he intended to use board with an Amstrad PLUS, that i can't guarantee it will work properly.

BUT, what i DO know is that many people who have tried USIfAC II over the years (and lately ram/rom board and ULIfAC too) reported that for the "casual" needs of the VAST MAJORITY of Amstrad CPC users (which of course is to load and play games  ;D ) , board CAN be used with Amstrad PLUS without problems.
 Having said that, i think that it would be wrong (and unfair) to declare board "PLUS incompatible" as it would be wrong and misleading to declare it "PLUS certified" too.
Bottom line:
- If you want to load fast and easy most games on Amstrad PLUS, USIfAC II/ULIfAC is a very nice and cheap solution!
- If you want to use any "plus specific" software (most probable custom OS like symbos/futureos or "plus only" games) ,then you should look for some other hardware which is "plus certified"
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Cwiiis on 12:27, 13 February 23
Are there people using the usifac2 on the Plus with no problems whatsoever...? For me, it only works with the original Burning Rubber/BASIC cart, only with no other expansions and I still don't get perfectly stable behaviour. This seems to tally with what I've seen from other Plus owners...

I think the Usifac 2 is great and amazing value for money, but I'm not sure I'd ever recommend someone with a Plus machine get one. That's totally fine though, there isn't exactly a huge swathe of Plus owners, and until one of us lends you their machine, I don't think there's anything you could be reasonably expected to do about it!
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 13:03, 13 February 23
I just took a quick search on ebay for Amstrad plus machines.... 400+euros for this (https://www.ebay.ie/itm/255887000414?hash=item3b940dc35e:g:ROQAAOSw62ljoN7l&amdata=enc%3AAQAHAAAAoODs1dzJkOOZCc9ySqpUFPFMoI3KXLxAH3QByIN9%2FeK658UL%2F26bg99lR2ZMwjBm%2F3e3XUa9vwnMkuc4SphjK%2BkxFgaNy5dCjz4oCsZsQNf17V9O26FhdqI%2B4L0WR4DRncipYKPPc%2BYHB7Hxh0MgoxGgsLc6RQsNnicok8ehM1lJhAUGHs%2FTa89Nt5RZBMMRQLjpQn6dMBgj6f94hPiwk9M%3D%7Ctkp%3ABk9SR9jc0anJYQ) and.... ~1500euros for a PLUS with monitor (https://www.ebay.ie/itm/224931421539?hash=item345ef51d63:g:w8gAAOSwAxZjcTEv&amdata=enc%3AAQAHAAAAoO79ws3u6tU8pLbDc90EVD%2Fr%2Brw6eZ4KkKUzWZKyrs0wkNbi%2BBYVgXqWAFYH7T6SISkbJ1335KAdREgcltTNzcxRJKw9GSqD64JJoLpcE5hTd3cmGWQVvvtLf8rjKjWv8TEBgmBzT5vcTD8eHjtS1nFtKGdDU6WFlv%2FuZgMeHhqA4gREQF9NrqITsX%2FsJUApURU3i70nZAmCdXapT%2FZX9HU%3D%7Ctkp%3ABk9SR9jc0anJYQ)  :o  ???
Is this HUGE overpricing  for PLUS machines, something new (you can find a VAST SUPERIOR amiga 1200 for much less, as A1200 is something like Amstrad plus compared to Amiga 500 and amstrad cpc respectively....) , or always happened because of...."collectors value" due to  rarity?  ::)
Don't get me wrong, but i don't think it's worth to invest so much money,(and of course extra time and effort) just to make USIfAC II/ULIfAC "plus certified".
After all ,how many are the PLUS owners that actually USE their machines (and not having it in a closet,a shelf or a showcase just for demonstration....)? Afaik, Amstrad PLUS sales were a few tens of thousands at most, were Amstrac CPC series, sold in millions! So would it be valid to suggest that actual Amstrad PLUS "active" owners today, would be ~1-3% of total Amstrad CPC users?


Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: andycadley on 14:59, 13 February 23
The creation of the C4CPC (which at the time was dismissed by many as too niche) made the GX and Plus machines a lot more desirable. Especially as the wiki collection of CPR conversions shot up.

They're rare enough that they don't show up on eBay much these days, but I'm not convinced anyone is actually buying them at ridiculous prices like £1500 though.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 16:12, 13 February 23
My gut feeling is, that although the only sold in the tens of thousands, a much higher percentage of Plus' survived and were not scrapped. So they are still more rare than a normal CPC but not as rare as one would expect from the original 1:100 ratio.  And: enthusiasts are more likely to have a Plus - and those enthusiasts are also more likely to buy expansions - sometimes just for the sake of owning the expansion. So over all, maybe the "market" for a Plus compatible expansions is not that small. 

I think there is a general issue with the Usifac II as we saw a few comments that it doesn't work with some Plus', with some 464s, if I am not mistaken someone even had issues with a 6128. As it's similar behavior in all cases I could imagine it's related to the same root cause, maybe signal timing/ROMDIS. So maybe(!) fixing it the 464s would also fix it for the Plus'. I could e.g. send my 464 to Greece for investigation. If it helps, great! If not, it was at least worth trying it. (I just want to get it back some day ;-) )
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 16:40, 13 February 23
Quote from: WacKEDmaN on 16:20, 13 February 23im actually trying to get my hands on another 464 from mate atm, just to test the usifac on, and if it works, then do some oscilloscope probing over the two boards to try to see if theres a difference...
I wondered if the ROMDIS could sometimes be slightly too slow. If the ROM (in the 464 or the Cartridge) would put data on the bus in parallel to the Usifac that could explain the behavior we see. But it's just a wild guess as I don't have the equipment to test it. 
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 19:35, 13 February 23
Quote from: eto on 16:12, 13 February 23I think there is a general issue with the Usifac II as we saw a few comments that it doesn't work with some Plus', with some 464s, if I am not mistaken someone even had issues with a 6128. As it's similar behavior in all cases I could imagine it's related to the same root cause, maybe signal timing/ROMDIS. So maybe(!) fixing it the 464s would also fix it for the Plus'. I could e.g. send my 464 to Greece for investigation. If it helps, great! If not, it was at least worth trying it. (I just want to get it back some day ;-) )
Indeed, and about 50% of all messages noting issues with USIfAC II in this thread, are from....WacKEDmaN!  :D
Funny thing, the dozens of messages regarding all "weird and exotic" problems, in the end was due to a bad power connector as WacKEDmaN himself finally noted! ::)
In any case, i've sold ~350 boards so far, and all the individual cases regarding problems are counted on fingers of one hand. USIfAC II may be a very nice companion for the "old timer" Amstrad CPC, but it seems that some Amstrad cpc's have evolved over the years to... old grumpy ladies instead!  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 19:45, 13 February 23
Quote from: WacKEDmaN on 16:47, 13 February 23thing is ive tried original 464 rom...and the 6128 rom.. and both are doing the same thing!...
ive even changed EVERY chip except for the AY-3!

@eto do you have the schneider 464? im wondering if the schneiders extra filtering (all them toroidal coils) is the reason it works good for some but not others.... (but then why would it work on other amstrad branded 464s that dont have all that filtering the schneiders have!)

ill look into ROMDIS when i get my hands on the other 464 to test.. but id probably need a logic analyser to make sure the signal is timed right...(ill have to make one with an arduino or something!)

I also tried different ROMs. They don't make a difference. Which also makes sense, if it's related to the signal and not to the ROM. Or maybe the signal is not strong enough in some cases? Not sure if that could make sense.

Yes I do have Schneider 464s. And Amstrad Plus 6128.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Prodatron on 20:40, 13 February 23
USIfAC II USB mass storage driver added to SymbOS!

index.jpg

Currently in "slow mode", and writing is still missing, but it already works great!
I am very happy to have this very important hardware now included as well!
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 23:37, 13 February 23
Quote from: WacKEDmaN on 21:24, 13 February 23that power connector fixed it for like a day...then it was back to doing stupid shit....eg.. now i can ONLY use DSKs and |464 mode, i cannot use anything direct coz as soon as i enable |USB or |EN and try to reboot... it locks up before the rom line..... BUT the |464 reboot works... SMH
im really starting to get pissed off with this whole thing....
i feel ive been totally ripped off....coz there NO real help from anyone, including you the developer...
THERE IS AN ISSUE AND IM NOT THE ONLY ONE WITH IT.....
@eto well that rules out that idea!
I'm really sorry that you have all these problems,but i really can't understand what i, (or anyone else) can do to help (apart from suggesting a few hints or tips, which i already did many times).
Now,apart from you,there were two,maybe three other reporting similar issues.
On the other hand,me and more than 300+ other people, don't seem to encounter ANY issue at all!
So, contrary to your claim that there might be some "general" systemic issue with the board,the fact that more than 99% of people have NO issues, most likely suggests that RARELY, issues with SPECIFIC Amstrad cpc machines might occur, something quite difficult to diagnose from distance, and FAR from claiming there is an issue with the board itself...  ::) 
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 23:48, 13 February 23
Quote from: Prodatron on 20:40, 13 February 23USIfAC II USB mass storage driver added to SymbOS!
It was about time....  :) 
Thank you very much for your time & effort to add USIfAC II support to symbos, much appreciated!
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 11:14, 14 February 23
@WacKEDmaN, at some time in the future (probably later this year),i will order a new batch of USIfAC II boards. These will have some design improvements (fine tuning of some traces, use wider traces), which hopefully will resolve the issues with some "grumpy" CPC boards  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 11:28, 14 February 23
I've been looking at Amstrad CPC expansion port (https://www.cpcwiki.eu/index.php/Connector:Expansion_port) and i saw there is an "EXP" signal that can be used by a device to signal it's presence.
  Since i never used that signal  (e.g. activated by driving it to gnd), with any of my boards, does anyone knows if there is any practical use of this signal (for example program that might use it to detect the presence of an external device)?
 And mostly, if it is used by Amstrad CPC itself, and when a device is connected to expansion port, but EXP is not activated, this can affect the behavior of Amstrad.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: andycadley on 14:48, 14 February 23
Quote from: WacKEDmaN on 14:43, 14 February 23
Quote from: ikonsgr on 11:28, 14 February 23I've been looking at Amstrad CPC expansion port (https://www.cpcwiki.eu/index.php/Connector:Expansion_port) and i saw there is an "EXP" signal that can be used by a device to signal it's presence.
  Since i never used that signal  (e.g. activated by driving it to gnd), with any of my boards, does anyone knows if there is any practical use of this signal (for example program that might use it to detect the presence of an external device)?
 And mostly, if it is used by Amstrad CPC itself, and when a device is connected to expansion port, but EXP is not activated, this can affect the behavior of Amstrad.
from what i understand it isnt called anywhere in the 464s firmware.. its purely used as a GPIO...
Not sure about the old school CPC, but it is used on the Plus. From the Arnold V documentation (https://www.cpcwiki.eu/index.php/Arnold_V_Specs_Revised):

"On the Plus, it depends on /EXP. If /EXP is low, page 1 will be visible at &c000-&ffff, otherwise page 3 will be visible and CPM will be auto booted."
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: wolfgang on 18:59, 14 February 23
I got my ULIFAC today, put it on my AMSTRAD (not Schneider) CPC464 and WOW! now I have a 6128! What an upgrade! The unit works perfect (same as my former USIFAC II)!
Now I have a question: how can I boot it (in 6128 mode) into CP/M? There is this |CPM command in the 6128 but which disk image do I have to insert? 
I have various CP/M Plus disks (which will not work as I understand) and one CPM1.DSK (not sure what it is, are there any CPM 2.2 around?
(btw. I have a spare USIFAC II here which I don't need anymore, so if someone is interested . . .)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 20:56, 14 February 23
Quote from: wolfgang on 18:59, 14 February 23I have various CP/M Plus disks (which will not work as I understand) and one CPM1.DSK (not sure what it is, are there any CPM 2.2 around?
(btw. I have a spare USIFAC II here which I don't need anymore, so if someone is interested . . .)
You can get the cpm 2.2 image from here (https://www.cpcwiki.eu/imgs/c/cd/Cpmplgs4.dsk)
Funny thing, i manage to run cpm 2.2 on my cpc 464, even using USIfAC II and |464 command too :-)

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Mark_wllms on 21:51, 14 February 23
Quote from: wolfgang on 18:59, 14 February 23Now I have a question: how can I boot it (in 6128 mode) into CP/M? There is this |CPM command in the 6128 but which disk image do I have to insert? 
I have various CP/M Plus disks (which will not work as I understand) and one CPM1.DSK (not sure what it is, are there any CPM 2.2 around?

CPM 2.2 will work fine on the USIFAC using the ¦FDC disk image and then ¦CPM. If you want to boot CPM+ though, you need to use the HDCPM utility, which allows you to have up to 4 virtual hard drives as files on your USB drive and access them natively. There is another thread on how to do this at https://www.cpcwiki.eu/forum/applications/hdcpm-boot-and-run-cpm-plus-from-hard-disk/

This is a much better option all round, because you don't have to worry about disk swapping any more (and you can also continue to use your physical A drive).
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: wolfgang on 23:11, 14 February 23
Hi,

thanks for the fast help, I tried CP/M 2.2 (thanks for the dsk image) and it works fine, even in CPC464 mode. For me that's actually enough I just wanted to look around a bit in any CP/M to see what it was like at that time.
I think CP/M Plus will not run (on a standard CPC464) but its not important for me, and maybe some time I give it a try anyway.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 08:35, 15 February 23
Quote from: wolfgang on 23:11, 14 February 23I think CP/M Plus will not run (on a standard CPC464) but its not important for me, and maybe some time I give it a try anyway.
CP/M plus requires 128K. A patched version that runs on a 464 (with at least 128K) can be found here: http://www.winape.net/downloads.jsp
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: wolfgang on 22:08, 15 February 23
Even the patched Version of CP/M Plus does not run (blank screen after |CPM command) but as I understand from ikonsgr and former messages in this forum this is normal on a standard CPC 464 (even with the memory expansion from ULIFAC). Anyway no problem for me
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: d_kef on 13:51, 16 February 23
Quote from: wolfgang on 22:08, 15 February 23Even the patched Version of CP/M Plus does not run (blank screen after |CPM command) but as I understand from ikonsgr and former messages in this forum this is normal on a standard CPC 464 (even with the memory expansion from ULIFAC). Anyway no problem for me
The patched version of CP/M found in WinAPE's site still uses #C3 RAM mode so it is impossible to work on 464 without a #C3 mode compatible RAM expansion.

d_kef
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: d_kef on 15:22, 16 February 23
Quote from: WacKEDmaN on 14:47, 16 February 23EDIT2: ok so reflashed it again with 6d... and now im back to where i was... can only use DSKs and |464 mode.. reboot after |usb causes lockup before rom line
6d, 6e, 6f and 6g are all acting in the same manner..
My Usifac II has the same behavior. Firmware 6d is the only usable with the 464.
So it's not the socket. I tent to believe that it's the (z80 or GA)  timing or the signal levels or maybe parasitic noise, but my oscilloscope's died on me a couple of years ago so I can't prove my theory.

And regarding the pause button. It gave me a headache a couple of times believing that the PIC was broken.

d_kef
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 17:34, 16 February 23
Seriously guys, can we please have two threads instead of this one here?

One for anything USIfAC. And one for technical problems only.

The information about this great project gets totally lost into the vast majority of technical-problems. And here is my advice to solve the technical problems all at once: Get a proper working CPC - and best: get a proper working CPC6128.

Just my friendly advice.  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Prodatron on 18:12, 16 February 23
Don't know if others have this as well:
Usifac II works fine, when it's the only connected hardware expansion.
As soon as I connect something else, it isn't working properly anymore. I wasn't able to run SymbOS with the Usiface II and a memory expansion, so I could only test it with 128K so far.
What I also recognize is, that it produces a lot of noise on the bus, at least you "hear it working a lot" with the internal CPC speaker, more than it is usual with other hardware.
Maybe the only issue is, that it should suppress interferences a little bit more?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: leexus on 18:14, 16 February 23
Quote from: andycadley on 21:23, 12 February 23
Quote from: Prodatron on 21:04, 12 February 23"Doesn't work" is a hard word. I am not sure, but wouldn't it already be ok, if the ASIC and the ram expansion isn't mapped in at the same time at #4000?
As Plus software should know about this, it could be a solution for many cases.
Yeah, but that's working around the bug and it's actually difficult to do in practice because you find yourself really wanting to use the C1/C2/C3 paging arrangements (because you want all that extra RAM for sprite data) and they're not compatible. Trying to actually use 128K and not have banked RAM and the ASIC registers paged in just cripples the machine.

Worse than that, it confuses people who plan to buy the hardware. There is quite a lot of 128K Plus software that only works with RAM expansions that are Plus compatible, so it's better not to mislead people by suggesting these devices are.
Can you send a list of those Plus related software which requests the ram expansion? I would like also test it.

Anyways, I found that ULIfAC works fine with most of the software (much better than USIfAC II and the standalone 512k RAM expansion by ikonsgr). The new 2-in-1 expansion also operating with SymbOS (but only in 320k memory mode, the 512k mode was freezing during the system disk load), but sure there are some games or scene demos, which are having some issues (graphical issues or sync problems, sometimes freezing), but its only about 10 percentage from the software which I have tried.

I think the plus is a bit tricky computer of the CPCs. I also have tested the LambdaSpeak midi interface on CPC plus for weeks without any luck, so maybe there is no 100 percentage solution for CPC PLus.
But (!) I am happy with the ULIfAC which means much more opportunities to me. Almost any kind of files can be loaded (standard Locomotive Basic codes, SNA files, DSK images, etc.). I don't know other card which can support many file formats as USIfAC II or ULIfAC.

Another addition can be, if you install a Gotek also (together with the ULIfAC or USIfAC II, there the compatibility level can be raised: the software which does not work starting from ULIfAC, I am starting / loading it from Gotek drive (HxC firmware), while I can still use the memory expansion of ULIfAC with it.

I am planning to test the M4 board of Duke which I also having since days, but I guess, there surely will be also some issues because of the specialities of the Plus. This machine needs some more special care.  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: leexus on 18:16, 16 February 23
Quote from: Prodatron on 18:12, 16 February 23Don't know if others have this as well:
Usifac II works fine, when it's the only connected hardware expansion.
As soon as I connect something else, it isn't working properly anymore. I wasn't able to run SymbOS with the Usiface II and a memory expansion, so I could only test it with 128K so far.
What I also recognize is, that it produces a lot of noise on the bus, at least you "hear it working a lot" with the internal CPC speaker, more than it is usual with other hardware.
Maybe the only issue is, that it should suppress interferences a little bit more?
Which USIfAC II firmware version are you using currently?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Prodatron on 18:34, 16 February 23
Quote from: leexus on 18:16, 16 February 23Which USIfAC II firmware version are you using currently?
I have 6f here. Maybe I should try another one?

Quote from: leexus on 18:14, 16 February 23The new 2-in-1 expansion also operating with SymbOS (but only in 320k memory mode, the 512k mode was freezing during the system disk load)
That's good to hear! I just wonder what is the different between the two modes.
Btw, I will upload a version with Usifac II USB support later, then you could test it even with mass storage access.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: leexus on 18:50, 16 February 23
Quote from: Prodatron on 18:34, 16 February 23
Quote from: leexus on 18:16, 16 February 23Which USIfAC II firmware version are you using currently?
I have 6f here. Maybe I should try another one?
Maybe should try with 6g if there were some changes on that
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: leexus on 18:52, 16 February 23
Quote from: Prodatron on 18:34, 16 February 23
Quote from: leexus on 18:14, 16 February 23The new 2-in-1 expansion also operating with SymbOS (but only in 320k memory mode, the 512k mode was freezing during the system disk load)
That's good to hear! I just wonder what is the different between the two modes.
Btw, I will upload a version with Usifac II USB support later, then you could test it even with mass storage access.
ULIfAC CPC6128+ test:
Symbos 3.1 in normal mode (512k RAM mode) will be freezing during the loading.
https://drive.google.com/file/d/1fWK5c0kr0cR2I7jmxVWfXj6bzP3fuOdp/view
https://drive.google.com/file/d/14ocwIPyQPdvT5gDl9J_REEIkLopNzUfF/view

Symbos 3.1 works only in |6128 (256k RAM + 16x ROM mode). Its great but only 320k RAM available if I load the Symbos from ULIfAC:
https://drive.google.com/file/d/1_6K08MXavB9ubcyVOWviwh0HomVGqy99/view

You can use the RAM expansion in SymbOS – due to that only in 6128 mode is working the Symbos, you can use 320k memory.
(All the 3 disks can be mounted by |MG and swap to Apps disk after loading the Symbos screen.)
https://drive.google.com/file/d/1mUDEiyabRbfUx3FYkA4lUrAv8ISsDd_K/view
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Prodatron on 18:54, 16 February 23
Here is a version, which should detect a USIFAC II and supports the USB drive.

Please not, that currently it will only use the USIFAC II as mass storage device, when no other supported device is connected as well (SF2, X-Mass, M4Board, SF3).

It's a WIP version but should work ok on an existing installation. I wonder if you get it running with more than 128K.

sym-usifac2.zip
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Prodatron on 18:57, 16 February 23
Quote from: leexus on 18:52, 16 February 23ULIfAC CPC6128+ test
Oh very interesting, thanks for this!
My firmware doesn't know |6128. I will update my board, maybe it could help.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: leexus on 19:08, 16 February 23
Quote from: Prodatron on 18:57, 16 February 23
Quote from: leexus on 18:52, 16 February 23ULIfAC CPC6128+ test
Oh very interesting, thanks for this!
My firmware doesn't know |6128. I will update my board, maybe it could help.
it was on the new ULIfAC test as I wrote. 
But with my USIfAC II (fw 6f) + 512k memory expansion it was working with SymbOS 3.1.
See the photos:
https://drive.google.com/drive/folders/17IGhMvjR8yyA2LSH8-pBYBmzz946C6G9?usp=share_link

So with ULIfAC can be used 320k RAM only in SymbOS 3.1, with USIfAC II can be used 576k RAM as total.

Anyways, how did you load the Symbos? I mapped all the 3 disks with MG command and afterall I started the first disk then when it loaded, I switched to the disk 2.

I wrote the complete sequence I used on CPC6128+:
Symbos loading is useful by using RSX commands to mount all the 2 or 3 disks of Symbos 3.1
-        |CD,"..."
-        cat
-        |MG,"symbos_disk1.dsk"
-        |MG2,"symbos_disk2.dsk"
-        |MG3,"symbos_disk3.dsk"
-        |FDC
-        reboot with Ctrl-Shift-Esc
-        cat - the machine lists the selected DSK image content
-        RUN"sym"
-        after loading the Symbos screen, push the Disk swap button to the disk 2 or disk 3 for accessing the Symbos Apps disk (control panel, apps can be only opened by this)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Prodatron on 19:10, 16 February 23
I never used the |MG commands, I am very impressed, that FDC emulation is working so good :o

In my case, I am doing |USB and boot SymbOS from a subdirectory on the USB stick.
Then the new SymbOS version is accessing the USB directly.

Can you try this as well?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: leexus on 19:13, 16 February 23
Quote from: Prodatron on 19:10, 16 February 23I never used the |MG commands, I am very impressed, that FDC emulation is working so good :o

In my case, I am doing |USB and boot SymbOS from a subdirectory on the USB stick.
Then the new SymbOS version is accessing the USB directly.

Can you try this as well?
Yes I have tried to start from a subdirectory, but it was not working to me. But it works fine from the disks. Try to mount the 3 disks and start the first. It should be working fine.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Prodatron on 19:21, 16 February 23
Wow FDC emulation works fine! (I see the DSK both in drive A and B in SymbOS)
Did you try the version I uploaded to access the Ulifac USB device? Here it works fine as well, when booting from DSK.
Still only see 128K, but that's another issue.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: leexus on 19:22, 16 February 23
Quote from: Prodatron on 19:21, 16 February 23Wow FDC emulation works fine! (I see the DSK both in drive A and B in SymbOS)
Did you try the version I uploaded to access the Ulifac USB device? Here it works fine as well, when booting from DSK.
Still only see 128K, but that's another issue.
Now I am not at the place, where my CPC+ is, but I will try on next week and report back to you.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Prodatron on 19:28, 16 February 23
Thanks! Both emulated FDC access and direct USB access works fine on my side, I will now try to upgrade the firmware (didn't do this before).
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: leexus on 19:44, 16 February 23
Quote from: Prodatron on 19:28, 16 February 23Thanks! Both emulated FDC access and direct USB access works fine on my side, I will now try to upgrade the firmware (didn't do this before).
I did the upgrade with PICKIT 3 successfully. Was not working with older boards. 
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: poulette73 on 20:00, 16 February 23
Quote from: Prodatron on 19:21, 16 February 23Wow FDC emulation works fine! (I see the DSK both in drive A and B in SymbOS)
Did you try the version I uploaded to access the Ulifac USB device? Here it works fine as well, when booting from DSK.
Still only see 128K, but that's another issue.
Yes it's great! I also use SymbOS directly from USB key on the USIfAC II too.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: andycadley on 20:11, 16 February 23
Quote from: leexus on 19:08, 16 February 23But with my USIfAC II (fw 6f) + 512k memory expansion it was working with SymbOS 3.1.
See the photos:

Note, the fact that it loads and appears to run doesn't actually mean a lot. The problem with the Plus machines and RAM expansions will manifest as RAM corruption over time so something won't necessarily fail instantly nor necessarily crash in spectacular fashion.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 23:22, 16 February 23
Quote from: Prodatron on 18:12, 16 February 23Don't know if others have this as well:
Usifac II works fine, when it's the only connected hardware expansion.
As soon as I connect something else, it isn't working properly anymore. I wasn't able to run SymbOS with the Usiface II and a memory expansion, so I could only test it with 128K so far.
Did you try to change USIfAC's rom number with out &fbd2,X? This method worked for some people who wanted to have other boards connected together with usifac.
Quote from: Prodatron on 18:12, 16 February 23What I also recognize is, that it produces a lot of noise on the bus, at least you "hear it working a lot" with the internal CPC speaker, more than it is usual with other hardware.
Maybe the only issue is, that it should suppress interferences a little bit more?
Did you ever hear the interference made by a wifi module trying to connect on a m4 board (it drove me crazy until i found out there is a command to turn off wifi module  :D  )? It's like sending loud morse code signals through Amstrad speaker... :)  Parasitic noises and interferences from the lousy cpc speaker is VERY common issue, best way to avoid it, is to use a tv with scart cable and  audio lead, this should give MUCH better sound quality too  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 00:01, 17 February 23
Sure, the internal speaker is imho just some kind of 'emergency solution' for people who just got their computer and had no time to put in the 3,5 mm cable to connect the CPC to a proper stereo or boxes. 

In case of the 6128plus it's different again.  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 00:35, 17 February 23
Quote from: GUNHED on 17:34, 16 February 23Seriously guys, can we please have two threads instead of this one here?
One for anything USIfAC. And one for technical problems only.
The information about this great project gets totally lost into the vast majority of technical-problems
EXACTLY! Thanks for pointing that out!
Frankly, i'm sorry for the few of you, that encounter weird technical issues with the board, i will provide a revised board in the near future that hopefully will resolve any issues with the few "grumpy" Amstrad cpc's, but if i may say, what really bothers me and makes me sad, is that some people, by repeating the SAME problems, over and over and over again, act as if they are obsessed with convincing everyone that USIfAC II is a crappy defective board, JUST BECAUSE IT DIDN'T WORK FOR THEM!
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Gryzor on 05:12, 17 February 23
Ok, thread will be dealt with in the morning. Apologies it had reached the deplorable condition it's in, mainly because of @WacKEDmaN , I haven't been following it. 
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: poulette73 on 06:04, 17 February 23
I'm sorry but I had to comment on this.
 
I don't deny that some may have problems with USIfAC II, but it's a minority and I'm deeply sorry for them.
 
None of the multiple helps and suggestions made it work. And we will never know if the problem came from the USifAC II interface, a hardware problem on the CPC, a PSU problem, ram chip, or other reasons. Let's not forget that Amstrad equipment we are working on is almost 40 years old...

Quote from: GUNHED on 17:34, 16 February 23And here is my advice to solve the technical problems all at once: Get a proper working CPC - and best: get a proper working CPC6128.
Just my friendly advice.  :)
Nothing to add!
 
I want to re-establish a truth: USIfAC II is used by several hundred people around the world, without any problem. The vast majority of these users do not even come to post on this topic... The interventions here on this topic do not reflect the success of the USIfAC II interface but only the complaints.
 
This interface is fabulous... and offers so many possibilities that no other allowed before. Several dozen RSX commands allow you to perform a very large number of operations such managing files and DSK images, direct transfers between CPC and PC in bluetooth/wifi/USB cable serial communication, creation of physical media from a DSK source (in both directions), native access to Amsdos files, FDC emulation, transformation of a 464 into a 6128, integrated Parados rom, and I forget so many more.
 
At the support level, I don't know anyone like @ikonsgr who has listened so much to the community. He answers all the questions on this thread, and dozens of PMs. USIfAC II interface has never stopped evolving over the years both in terms of hardware and component modification, but also a very large number of firmware deployed.
 
Today, it's hard to hear that USIfAC is cheap made, overprice (?), and lack of creator support.
 
It would be really wise to separate the topic in two. The main thread containing all the evolutions, suggestions, improvements, and constructive feedback. And a second containing the concerns and solutions reported. Today this topic is completely unreadable.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Gryzor on 06:08, 17 February 23
Yeah, the thing is it's a huge thread by now, wouldn't know where to start... Maybe it'd be best to lock the current thread and start a couple of new ones with a warning in the first post here? 
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Prodatron on 10:24, 17 February 23
Maybe make one "feature" and one "issue, let's talk how to solve this" thread?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Gryzor on 10:32, 17 February 23
Sounds cool to me, if @ikonsgr agrees...
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 10:34, 17 February 23
Oh yes! please!
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Gryzor on 11:49, 17 February 23
Ok, after discussing with @ikonsgr I'm going to delete all of @WacKEDmaN 's posts from this post, as well as OP's replies to them, gradually. If people wish their replies to no-longer available posts to be deleted, ping me with the link or report your posts.

I'm also going to move the Plus-related posts to a dedicated thread.

A new thread has been opened for technical help, link will be prominently placed in the OP.

A drastic solution, but it's gotten out of hand and there's not much else that can be done.

Also, @WacKEDmaN has been placed under moderation for now; all future posts will be closely monitored.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 14:47, 17 February 23
Sorry for all the time you waste for this, really! And thanks a lot for caring!  :) :) :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: shacpc on 20:27, 17 February 23
I applaud the moderator's decision. I think this user thought he was arguing with his phone company instead of valuing a developer like ikonsgr to whom many users are eternally grateful for creating USIfAC and being always ready to solve any doubt. My thanks to John for his effort on his device.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Gryzor on 20:44, 17 February 23
I thought the same, I cannot see how ikonsgr put up with him and tried to help again and again, and how entitled the guy felt. 
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: kolleykibber on 00:25, 19 February 23
Hi @ikonsgr
I've just seen the ULIFAC. I want one! Have I missed what the L stands for?  I'd like to try and have a go at getting honeyterm working. I couldn't with the Usifac as Honeyterm is ROM based and I wasn't prepared to go though the effort of getting a separate ROM board working!

Having just caught up on this thread after a year or so and seeing what you've had to deal with, I want to add my appreciation for what you do. I have some experience in software and hardware design, but I know I will never have the commitment and passion that you have. It appears you're experiencing the Dunning-Kruger effect and I hope those of us who truly appreciate what you do can communicate to you that you are a stand out in this field and encourage you to keep going!
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 11:15, 19 February 23
Quote from: kolleykibber on 00:25, 19 February 23Hi @ikonsgr
I've just seen the ULIFAC. I want one! Have I missed what the L stands for?  I'd like to try and have a go at getting honeyterm working. I couldn't with the Usifac as Honeyterm is ROM based and I wasn't prepared to go though the effort of getting a separate ROM board working!
Indeed,i 've sold ~dozen of the 1st batch of ULiFAC boards and it seems to work ok. Now i'm waiting for a new batch of pcb boards (and 512k sram chips too), i believe i will be able to "restart production"in ~month or so. If you want, give me a note to ikonsgr745@hotmail.com to add you to the "Waiting list" for ULIfAC
Btw, acroym stands for: ULtimate, Interface, for Amstrad Cpc... quite humble title,right? ;D  But i thought it's kind of deserve this title, as it it sums up the 4 "major needs" for Amstrad user (ok, maybe a bit more "advanced" user  :D ):
-Mass storage loading/writing
-765 FDC emualtion with Low level dsk image access,
-RAM expansion,
-Rom board,
ALL in one board! What else you might possibly need? :)

Quote from: kolleykibber on 00:25, 19 February 23Having just caught up on this thread after a year or so and seeing what you've had to deal with, I want to add my appreciation for what you do. I have some experience in software and hardware design, but I know I will never have the commitment and passion that you have. It appears you're experiencing the Dunning-Kruger effect and I hope those of us who truly appreciate what you do can communicate to you that you are a stand out in this field and encourage you to keep going!
If you are referring to the last incident, i wouldn't say that it resembles the Dunning-Kruger effect,i think it's more a case of "excessive passion" for Amstrad CPC, which unfortunately if you can't control it, it can end up to obsession, and that can be rather annoying for all the other members of the community...  ::) 
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: wolfgang on 20:07, 19 February 23
Quote from: d_kef on 13:51, 16 February 23
Quote from: wolfgang on 22:08, 15 February 23Even the patched Version of CP/M Plus does not run (blank screen after |CPM command) but as I understand from ikonsgr and former messages in this forum this is normal on a standard CPC 464 (even with the memory expansion from ULIFAC). Anyway no problem for me
The patched version of CP/M found in WinAPE's site still uses #C3 RAM mode so it is impossible to work on 464 without a #C3 mode compatible RAM expansion.

d_kef
I have a question concerning the exchange of disk images (ULIFAC on CPC464) when running in CPC6128 mode:
there are two Disk units avalilable (|A and |B) but when I insert disk images in 2 (or more) slots the activatet image is always in both drives. When I select the next slot (with the button on the ULIFAC) the next image is in both A and B drive, no matter if I am on A or B (with commend |B). What am I doing wrong?
When in CPM22 I cannot change the disk image. If I do it with the button on the ULIFAC board the next image from the next slot is not selected. Concerning Drives A: and B: same behavior as above in AMSDOS.
And last question, what i the correct setting of the 464/6128 button on the ULIFAC board (for use with my CPC464)?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 20:48, 19 February 23
Quote from: wolfgang on 20:07, 19 February 23I have a question concerning the exchange of disk images (ULIFAC on CPC464) when running in CPC6128 mode:
there are two Disk units avalilable (|A and |B) but when I insert disk images in 2 (or more) slots the activatet image is always in both drives. When I select the next slot (with the button on the ULIFAC) the next image is in both A and B drive, no matter if I am on A or B (with commend |B). What am I doing wrong?
When in CPM22 I cannot change the disk image. If I do it with the button on the ULIFAC board the next image from the next slot is not selected. Concerning Drives A: and B: same behavior as above in AMSDOS.
And last question, what i the correct setting of the 464/6128 button on the ULIFAC board (for use with my CPC464)?
When you use FDC emulation, there is only one dsk image available at any time (otherwise it would require to have dual FDC emulators to access 2 images- e.g. 2 disks- at the same time ... ::)  ). What you can do, is to mount images on the 4 available slots using |MG, |MG2, |MG3, |MG4 commands (you can also use |SMG to check the list of all image slots and the currently selected) and then press the swap button to cyclic select them.
 
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: wolfgang on 21:00, 19 February 23
Ok, thanks I wasn't aware of that. But how to change disks in CPM22?
And how should the selector be set?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: wolfgang on 22:56, 19 February 23
Hi again, please forget CPM it boots and runs, I am sure now I have troubles with the CPM disk images  (same problems when running in emulator).
Can you just give me a hint how the 464/6128 selector switch should be set for a CPC 464?
And John, congratulations for the ULIFAC unit, its a huge upgrade from the USIFAC II (which was already fantastic), direct jump to CPC 6128 mode with only one command, start file manager with one simple RSX command, lots of RAM and ROM, I really love it!
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 10:19, 20 February 23
@wolfgang, it doesn't matter if you are using cpm or amsdos or any other OS, the dsk image exchange is done "underneath" ,by simply pressing the dsk_swap button (it's exactly like changing the disk into the drive). If you are using CPC464 then switch should be to '464' position. This activates the "MREQ masking" procedure in order to avoid "ghost" writing of internal Ram whenever a write to external ram occurs (as we noted before, CPC464 doesn't "officially" support a ram expansion, that's why we need to do "tricks" to make it work). So if you have a CPC464 and the switch on '6128' position, external RAM will not function properly.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: wolfgang on 12:45, 20 February 23
Hi, thank you very much for your help, I thought the disk change works as you describe it but it did not work in CPM. The reason is that the only working CPM disk I have is the CPM 2.2 boot disk (Cpmplgs4.dsk - thanks again for this image). For some reason it doesn't contain the format command and whenever I try to delete something on it or copy something to it it gets destroyed (I double checked in a CPC emulator on my PC, same thing),  thats how I got confused.
Anyway I will try with CPM 2.2 later for the moment there is plenty to explore in the 6128 mode.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 16:59, 20 February 23
Quote from: wolfgang on 12:45, 20 February 23Hi, thank you very much for your help, I thought the disk change works as you describe it but it did not work in CPM. The reason is that the only working CPM disk I have is the CPM 2.2 boot disk (Cpmplgs4.dsk - thanks again for this image). For some reason it doesn't contain the format command and whenever I try to delete something on it or copy something to it it gets destroyed (I double checked in a CPC emulator on my PC, same thing),  thats how I got confused.
Anyway I will try with CPM 2.2 later for the moment there is plenty to explore in the 6128 mode.
If you want to use CPM for format reasons, you can just give |Format command. It supports data/system format with sectors in interleaved order (which means fast loading when disks are written), and it's done in less than 15seconds/disk ;-)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: wolfgang on 17:17, 24 February 23
Hi John,
I am now trying to set up a direct connection, first with 2303 serial adapter (its a Prolific 2303TA) and also over WIFI using a ESP-8266-01 with ESP-01 adapter.
When I use serial connection no connection can be established, not in file transfer, disk transfer, Image transfer nor Terminal nor direct mode. I always get the message "PC not responding" when doing something on the CPC or CPC not repsonding when I try a file transfer from the PC with the Amstrad Utility. In the terminal nothing is sent to either of the two computers.
With WIFI: on the CPC I can set up the connection with the |WIFI command, but only if the is no USB stick on the ULIFAC. If there is an USB stick inserted the ULIFAC issues the message "USB module CH376,not found"on boot, if I type the |WIFI command i get the error message "NO WIFI module detected"
If I switch off the CPC, remove the USB stick and switch back on I get (of course) the message "No USB device found" (but I must wait some 20 seconds before switching back on, otherwise I still get both of the above messages), with |WIFI I get the Wifi setup screen, I first entered the SSID and password from my wireless network (this is saved in the ULIFAC) then the speed, then it asks for "Host ip:" - here I enter the IP number of my PC, in my case this is 10.0.0.51 (my network is 10.0.0.1 to 254) and keep the standard port 1000.
Then I start the AmstradUtilityII on the PC and click on Connection WiFi - nothing happens.
Just tried the other way around - first started the program on the PC then switched on the CPC - now I got
WiFi Module connected!
Ready
on the CPC
and on the PC "Connected" was lit
Now, direct mode works, I can look on the directory of the PC with CAT and Terminal also works.
But of course I cannot copy files nor disks without an USB stick inserted. I tried to insert one now with the CPC on, but the CAT and CD  commands always refer to the PC.
It seems that the WIFI and the CH376 module with USB stick inserted block each other, if I remove the USB stick or the ESP8266 module ULIFAC work correct.
I followed the manual of the USIFAC II (I will try to establish connection with my USIFAC II module as a next test) and what I described above is the result.
I use a CPC464 powered from a 5V/2A power supply only on the CPC, ULIFAC is set to internal power, is that ok? Do you have any hint for me?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: wolfgang on 18:15, 24 February 23
Hi again,
I tried now all of the above in the (more less) same way with the USIFAC II and get the same behavior: No connection possible with serial device, with WiFi only when no USB stick is present.
Do I do something wrong or did I misunderstand something?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: poulette73 on 09:54, 25 February 23
Quote from: wolfgang on 17:17, 24 February 23It seems that the WIFI and the CH376 module with USB stick inserted block each other, if I remove the USB stick or the ESP8266 module ULIFAC work correct.
That's exactly how it works. 😉

USB key does not work simultaneously with Wifi.
Either you use USB as mass storage like a hard drive with USIFAC/ULIFAC.
Either you use Wifi to communicate with the PC.

Of course you can use the USIFAC/ULIFAC Wifi with : internal 3" drive, external 3"1/2 drive, or external Gotek drive.
ESP8266 Wifi module allows (with these 3 peripherals) to carry out the following operations:

Quote from: wolfgang on 18:15, 24 February 23Hi again,
I tried now all of the above in the (more less) same way with the USIFAC II and get the same behavior: No connection possible with serial device, with WiFi only when no USB stick is present.
Do I do something wrong or did I misunderstand something?
It's very difficult to remotely diagnose the connection problems that you may encounter, it could come from many things.
At CPC cold start, ESP8266 module requires about ten seconds to connect to the router of your Internet box. If you execute the |WIFI command too early, then you get the message "No WIFI module detected".
Once a first successful connection, the Wifi remains active, even after a CPC reset or an off/on extinction of the power supply.
Maybe try to flash another compatible firmware from an older version?
When you were connected to Wifi the first time, did you see your ESP8266 interface in the local network of the router of your Internet box?
Did it obtain in DHCP an address in your network 10.0.0.0/24?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: wolfgang on 12:39, 25 February 23
Many thanks for the explication I did understand various things wrong.
So the WiFi works as it should, as I don't have any hardware floppy unit (not even controller) I can use USB stick OR WiFi but not both together, I did not realize that. Anyway it would not make too much difference as with the same effort the USB stick can be moved to the PC and everything can be copied to it.
Who knows why the serial connection does not work, but it is also something that's not really needed, I just wanted to give it a try.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 17:35, 26 February 23
Quote from: wolfgang on 12:39, 25 February 23Many thanks for the explication I did understand various things wrong.
So the WiFi works as it should, as I don't have any hardware floppy unit (not even controller) I can use USB stick OR WiFi but not both together, I did not realize that. Anyway it would not make too much difference as with the same effort the USB stick can be moved to the PC and everything can be copied to it.
Who knows why the serial connection does not work, but it is also something that's not really needed, I just wanted to give it a try.
Did you use windows 10? I'm afraid that usb2ttl cables based on PL2303 chip are not working correctly (as usual M$ f@cked up things with WIN 10 drivers...). I recently installed win10 and found out this. The solution is to use adapter cables with different chips (i tried another with CP210x chip (https://www.ebay.ie/sch/i.html?_from=R40&_trksid=p2334524.m570.l1313&_nkw=usb+to+ttl+cp210&_sacat=0&LH_TitleDesc=0&_odkw=usb2serial+cp210&_osacat=0) and worked fine on win10)

btw, in order to have enabled both uart/wifi port and usb stick would require 2 separate serial ports, but to tell you the truth, i really can't find any reason for needing something like this. In the end all connection methods (cable, wifi, usb stick) are serving the SAME puprpose: access to mass storage device for CPC! ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Maitresinh on 17:44, 26 February 23
Juste wondering : it may be time, and usefull to extract informations from this gigantic thread. A kind of FAQ bis.
On a open collaborative gdoc maye, at the begining of the thread ? 
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: reidrac on 17:52, 26 February 23
May be a page on the wiki. There's this already, but it could have more info instead of pointing to this thread:

https://www.cpcwiki.eu/index.php?title=USIFAC
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 11:26, 27 February 23
Yeap, that's a very good idea, to "upload" useful information about USIfAC II on cpcwiki page too.
There are also many nice things that people did with USIfAC II that are also "lost in thread", i'll try to make a list of links with short descriptions and put that to cpcwiki (and 1st post of this thread too), so anyone can easily find it   ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: wolfgang on 01:38, 28 February 23
Quote from: ikonsgr on 17:35, 26 February 23
Quote from: wolfgang on 12:39, 25 February 23Many thanks for the explication I did understand various things wrong.
So the WiFi works as it should, as I don't have any hardware floppy unit (not even controller) I can use USB stick OR WiFi but not both together, I did not realize that. Anyway it would not make too much difference as with the same effort the USB stick can be moved to the PC and everything can be copied to it.
Who knows why the serial connection does not work, but it is also something that's not really needed, I just wanted to give it a try.
Did you use windows 10? I'm afraid that usb2ttl cables based on PL2303 chip are not working correctly (as usual M$ f@cked up things with WIN 10 drivers...). I recently installed win10 and found out this. The solution is to use adapter cables with different chips (i tried another with CP210x chip (https://www.ebay.ie/sch/i.html?_from=R40&_trksid=p2334524.m570.l1313&_nkw=usb+to+ttl+cp210&_sacat=0&LH_TitleDesc=0&_odkw=usb2serial+cp210&_osacat=0) and worked fine on win10)

btw, in order to have enabled both uart/wifi port and usb stick would require 2 separate serial ports, but to tell you the truth, i really can't find any reason for needing something like this. In the end all connection methods (cable, wifi, usb stick) are serving the SAME puprpose: access to mass storage device for CPC! ;)
I am using Windows 10 since many years (will not go to 11), first with a 2303HX, where in the Windows System Manager it says that its not supported any more since 2012 (!), so I got a more recent 2303TA and this one is ok (in System manager, COM port is shown).
I think I have also a CP2102 here so I will test with that one too.
But you are absolutely right, only one way of connection is needed, two at the same time do not really make sense. I just didn't understand it right so I tried.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 21:21, 03 March 23
I've updated USifAC's cpc wiki page (https://www.cpcwiki.eu/index.php/USIFAC) adding some useful information taken from this "unreadable" Thread  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: craem on 20:20, 10 March 23
Hi, I'm interested in one or two units :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: issalig on 12:36, 14 March 23
I was thinking today if it would be possible to add a dump mode like Multiface2 does. It looks that only RE1 is available in the microcontroller, so a button connected to that IO line could be used.

From what I see (https://youtu.be/quYqrCKf3uw?t=937) , it is necessary to listen and store what it is sent to PIO, Gate Array and CRTC and read all the RAM contents.

What do you think?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 17:20, 15 March 23
Quote from: issalig on 12:36, 14 March 23I was thinking today if it would be possible to add a dump mode like Multiface2 does. It looks that only RE1 is available in the microcontroller, so a button connected to that IO line could be used.
From what I see (https://youtu.be/quYqrCKf3uw?t=937) , it is necessary to listen and store what it is sent to PIO, Gate Array and CRTC and read all the RAM contents.
What do you think?
Unfortunately as i explained here (https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/usifac-iimake-your-pc-or-usb-stick-an-hdd-for-amstrad-access-dsk-and-many-more!/msg214148/#msg214148), this can't be done, at least not without adding a lot of extra logic. BUT,if ou think that taking only a memory dump could be useful, perhaps this could be done.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: issalig on 17:38, 15 March 23
:) Ooops, I did not remember, I asked the same question a year ago.
A simple memory dump looks nice to me but I am not sure how useful it is.

If the problem is just that all the CLC gates are in use maybe they could be re-programmed once the button is pressed, do the sna dump and then restore CLC. But I guess is not as easy as it looks.

Anyway, thanks for you answer.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 17:51, 15 March 23
Quote from: issalig on 17:38, 15 March 23:) Ooops, I did not remember, I asked the same question a year ago.
A simple memory dump looks nice to me but I am not sure how useful it is.

If the problem is just that all the CLC gates are in use maybe they could be re-programmed once the button is pressed, do the sna dump and then restore CLC. But I guess is not as easy as it looks.

Anyway, thanks for you answer.
Indeed, it's not so easily done than said, you see in order to get all the required register values of all the Chips, you need to CONSTANTLY watch and report values of many I/O ports that change these registers, so the "re-programmed" CLC'S should be active all the time, and not momentarily  when you activate the "get a snapshot" action. For example, ram configuration and selected rom number/active state, could defined by the running code (by executing OUT &7F00,x and OUT &DF00,x), any time before pressing the button.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 20:43, 17 March 23
I've just bought the (universal/464 compatible version) Revaldinho 512k expansion for my CPC, with the expansion slot adapter so I can have it and the u2 in at the same time.
Will it play nice with the u2 or have I just made a relatively pricey mistake?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 19:09, 19 March 23
Quote from: Devlin on 20:43, 17 March 23I've just bought the (universal/464 compatible version) Revaldinho 512k expansion for my CPC, with the expansion slot adapter so I can have it and the u2 in at the same time.
Will it play nice with the u2 or have I just made a relatively pricey mistake?
Well, my 512kbram/rom board (https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/new-multi-purpose-board512k-ram-expansion32x-rom-board256k-ram2x-rom-board/) which is tested and works perfect with USIfAC II costs 22euros. I have also just receive  a new batch of pcbs for the ULIfAC (https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/usifac-iimake-your-pc-or-usb-stick-an-hdd-for-amstrad-access-dsk-and-many-more!/msg224642/#msg224642) which is a USIfac II with 512kb expansion ram or 32x rom board or 256k ram+16x rom board. This costs 34euros.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: wolfgang on 20:38, 19 March 23
I made some tests concerning the connection of the ULIFAC to a PC and that is what I found out:
WIFI with a ESP-8266-01 with ESP-01 adapter worked fine sometimes, but not always. It looked like a bad contact or whatever, sometimes I got the message "USB module CH376 not found" on Powerup, sometimes "No USB device found", I always waited for at least 2 minutes before issueing the |WIFI command, then sometimes it worked sometimes not, independent of which message was shown. I cleaned the contacts and tried 2 different ESP modules with 2 different adapters, same problem with both.
After some hours the effect happened more often and from one moment on WIFI did not work any more ever, so I gave up. Could be that my modules have problems or the adapters who knows. I really took them off an on the ULIFAC a lot, so could be.

All other functions of ULIFAC work perfect, always!

Then I tried a direct connection, with a brand new Prolific 2303TA adapter (in fact with 2 different ones, both new). The connection was established, but only the Terminal program worked, and only one way, from the CPC to the PC, not the other way around.

Next I tried with an also new CP2102 adapter and with this everthing worked perfect from the first test on, so I will stay with this.

I have not tried with Bluetooth, I will do so only if I can get a very cheap adapter, its not important for me just would be interesting to see the result.

I mentioned this just in case anybody is intested in PC connections, or has had other experiences.

Anyway, ULIFAC is the best expansion unit for the CPC464 ever made, upgrades it to a CPC6128, works immediately after Powerup, all the RSX commands integrated, diagnostic integrated . . . .  just great!

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 21:00, 19 March 23
Thanks for the testing @wolfgang ! :) One thing you can try, is to resolder the 4pin wifi female connector on the USIfAC II board. I remember a couple of guys having weird erratic behavior with wifi modules in the past, which they resolve it that way.
Btw,i recently installed the newest Delphi and manage to re-compile the windows utility program.
I've uploaded the new executable here (https://www.dropbox.com/sh/gg2faiikx4pit37/AADRvM_QsTzI1mGOsFx5Vugra?dl=0).

Some tests i made shows that program has a better response and stability especially in Wifi mode. Feel free to test the new windows utility and see if you can find any difference with the older one.

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: poulette73 on 04:11, 20 March 23
Quote from: wolfgang on 20:38, 19 March 23It looked like a bad contact or whatever, sometimes I got the message "USB module CH376 not found" on Powerup, sometimes "No USB device found", I always waited for at least 2 minutes before issueing the |WIFI command, then sometimes it worked sometimes not, independent of which message was shown.
That's I said recently : https://www.cpcwiki.eu/forum/index.php?msg=226330

This is not a problem, that's the normal operation.
When using Wifi : USB module is deactivated, so the reason with your message "No USB device found" or "USB module CH376 not found".

And in the same post above, I explained that you have to wait one minute before Wifi connection etablished the first time from a cold start.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 10:09, 20 March 23
And adding to what @poulette73  wrote, an easy way to avoid the "No USB device found" or "USB module CH376 not found" messages upon booting Amstrad, is to deactivate the "auto usb" function by giving a simple: OUT &FBD1,93  ;)
Also ,if you want to use WIfi permanently, deactivating "auto usb" is mandatory, because with "auto usb" enabled, every time you reset Amstrad it will change the serial port speed (and maybe block windows utility too) and you will need to reconfigure connection with |WIFI.
Finally, one tip for the new windows utility program: If it stops responding, just click "Connected" button, in most cases this will fix the problem. This is an important difference i found with previous windows utility, (when it stopped responding for some reason, it hanged up, and it could only terminated using task manager)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 13:54, 20 March 23
Quote from: ikonsgr on 19:09, 19 March 23
Quote from: Devlin on 20:43, 17 March 23I've just bought the (universal/464 compatible version) Revaldinho 512k expansion for my CPC, with the expansion slot adapter so I can have it and the u2 in at the same time.
Will it play nice with the u2 or have I just made a relatively pricey mistake?
Well, my 512kbram/rom board (https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/new-multi-purpose-board512k-ram-expansion32x-rom-board256k-ram2x-rom-board/) which is tested and works perfect with USIfAC II costs 22euros. I have also just receive  a new batch of pcbs for the ULIfAC (https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/usifac-iimake-your-pc-or-usb-stick-an-hdd-for-amstrad-access-dsk-and-many-more!/msg224642/#msg224642) which is a USIfac II with 512kb expansion ram or 32x rom board or 256k ram+16x rom board. This costs 34euros.
I'll take that as a yes? :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Maitresinh on 14:28, 20 March 23
@ikonsgr just a question on the new board. I'd want to use it to plug a midi interface of vocoder, along with the usifac. I suppose i can do that with the 50 pin connector.

Apart from that, i'd like show the world that A CP6128 from 1986 can browse the internet (at least, simple http pages). A kind of 80spunk peformance.
 Using Symbos+Usifac (wifi access) + the new board, will i be able to do that ?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Maitresinh on 14:53, 20 March 23
Ok, so  regarding the question it should not be a problem

https://www.youtube.com/watch?v=MVEXi7fGHyc

But i wonder about the details of using USIFAC as a midi interface

https://www.cpcwiki.eu/forum/dlattach/?attach=29382;image

A software somewhere ? What about the midi DIN connectors that appears in the picture ?

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 18:40, 20 March 23
Quote from: Maitresinh on 14:53, 20 March 23Ok, so  regarding the question it should not be a problem
https://www.youtube.com/watch?v=MVEXi7fGHyc
But i wonder about the details of using USIFAC as a midi interface
https://www.cpcwiki.eu/forum/dlattach/?attach=29382;image
A software somewhere ? What about the midi DIN connectors that appears in the picture ?
I think you should contact with @VintageAdvantage as he is the guy who developed the software for midi. It was designed for the 1st USifAC board ~3years ago (https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/universal-serial-interface-for-amstrad-cpc/msg188623/#msg188623) but as USIfAC II and ULIfAC are 100% compatible, software should work on all board without problems.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 18:47, 20 March 23
Quote from: Maitresinh on 14:28, 20 March 23Apart from that, i'd like show the world that A CP6128 from 1986 can browse the internet (at least, simple http pages). A kind of 80spunk peformance.
 Using Symbos+Usifac (wifi access) + the new board, will i be able to do that ?
Connect to a bbs: https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/usifac-iimake-your-pc-or-usb-stick-an-hdd-for-amstrad-access-dsk-and-many-more!/msg202202/#msg202202
And playing online adventure: https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/usifac-iimake-your-pc-or-usb-stick-an-hdd-for-amstrad-access-dsk-and-many-more!/msg207237/#msg207237
All you need is to plug a esp 8266 wifi module, flash it with esp-link (https://github.com/jeelabs/esp-link) and use software found here (https://www.dropbox.com/s/owrt05zisa0fjca/connect_to_bbs.zip?dl=0)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Maitresinh on 08:50, 21 March 23
Thanks @ikonsgr i will contact him

1/ Regarding Midi : i've also found the midi breakout board. As i'm only interested in text to speak and midi sync, so i wonder if i could forget about some components in the BOM of the Lambdaspeak. It would be easier and cheaper to assemble.

The goal is to integrate A CPC6128 into a setup with other synth  as a true "Ay-chiptune" synth:

Apart from playing live, sync a sequence (from soft like soundtrakker, or other) on the CPC with an external beatbox or synth. No idea if i could use the Lambdaspeak as a clock, or if i can use and external clock. The problem may be the compatibility of the tracker.

The coolest thing i can imagine so far (but maybe that already exist):

- A Sofware to use the CPC as a synth, allowing to manipulate waveforms, shapes, etc...and playin them live
- A CPC arpegiator for plaing live (Sounntrakker as already an arpegiator mode)


2/ Regarding connecting a CPC to the internet, i knew about BBS. But as Symbos has a browser i wasn wondering about http pages.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 09:38, 21 March 23
Quote from: Maitresinh on 08:50, 21 March 232/ Regarding connecting a CPC to the internet, i knew about BBS. But as Symbos has a browser i wasn wondering about http pages.
Again you should ask @Prodatron about that. Afaik, symbos now supports USIfAC II (https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/usifac-iimake-your-pc-or-usb-stick-an-hdd-for-amstrad-access-dsk-and-many-more!/msg225997/#msg225997)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Javy Fernandez on 10:05, 24 March 23
We have created a new EXCLUSIVE group in Spanish about LiliCPC and USifAC, to solve questions, comment bugs and possible improvements.
You are all invited to participate!
Link 👇🏻
https://t.me/LiliCPC

Greetings!
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 11:42, 24 March 23
ULIfAC board is now available again. I've also created a new thread (https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/ulifacusb-mass-storage-wifi-512kb-ram32xrom-board256k-ram16x-rom-board!/) for it, so any further developments, updates, comments etc, about ULIfAC board, will not mess this thread any more  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Javy Fernandez on 12:38, 24 March 23
Quote from: ikonsgr on 11:42, 24 March 23ULIfAC board is now available again. I've also created a new thread (https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/ulifacusb-mass-storage-wifi-512kb-ram32xrom-board256k-ram16x-rom-board!/) for it, so any further developments, updates, comments etc, about ULIfAC board, will not mess this thread any more  ;)
Thanks! ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: craem on 18:20, 30 March 23
Hi, a question.

it's possible emulate pace serial port or rs232c with the usifac II ?

My question is, if cp/m detects serial port, I can use kermit and another standar system utilities with vt52 terminal mode to connect my amstrad with another via modem  (using at commands).

Thanks
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 06:25, 31 March 23
Just sticking my neck in to say my revaldinho 512k(universal cpld ver.) expansion arrived, and has so far been perfectly well behaved, even going so far as to run the SymbOS build out of this thread, Pinball Dreams (https://www.cpc-power.com/index.php?page=detail&num=16736) and that one Batman demo (https://www.cpc-power.com/index.php?page=detail&num=9156) off the usifac2 quite happily :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 20:36, 04 April 23
Quote from: Devlin on 06:25, 31 March 23Just sticking my neck in to say my revaldinho 512k(universal cpld ver.) expansion arrived, and has so far been perfectly well behaved, even going so far as to run the SymbOS build out of this thread, Pinball Dreams (https://www.cpc-power.com/index.php?page=detail&num=16736) and that one Batman demo (https://www.cpc-power.com/index.php?page=detail&num=9156) off the usifac2 quite happily :)
Great! It's good to know that other RAM expansions work with USIfAC II apart from the one i make  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: pappous on 18:09, 05 April 23
Can anyone give me instructions how to load symbos with usifacii?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: pappous on 18:29, 05 April 23
I managed to work it. So I have ucifacII with 512KB external memory from  Revaldinho and symbos works.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: poulette73 on 18:30, 05 April 23
Quote from: pappous on 18:09, 05 April 23Can anyone give me instructions how to load symbos with usifacii?
Hello,

Just here, it's very simple :
https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/new-multi-purpose-board512k-ram-expansion32x-rom-board256k-ram2x-rom-board/msg227584/#msg227584
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: pappous on 18:41, 05 April 23
Quote from: poulette73 on 18:30, 05 April 23
Quote from: pappous on 18:09, 05 April 23Can anyone give me instructions how to load symbos with usifacii?
Hello,

Just here, it's very simple :
https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/new-multi-purpose-board512k-ram-expansion32x-rom-board256k-ram2x-rom-board/msg227584/#msg227584
I have done it and it did not work, so I replaced the file you previous gave us at a post for the usifac to work as storage and then it worked.... 
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 11:53, 06 April 23
Quote from: pappous on 18:41, 05 April 23
Quote from: poulette73 on 18:30, 05 April 23
Quote from: pappous on 18:09, 05 April 23Can anyone give me instructions how to load symbos with usifacii?
Hello,

Just here, it's very simple :
https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/new-multi-purpose-board512k-ram-expansion32x-rom-board256k-ram2x-rom-board/msg227584/#msg227584
I have done it and it did not work, so I replaced the file you previous gave us at a post for the usifac to work as storage and then it worked....
Quote from: Prodatron on 18:54, 16 February 23Quote from: Prodatron (https://www.cpcwiki.eu/forum/index.php?msg=225997) on 16/02/2023, 17:54:32
Here is a version, which should detect a USIFAC II and supports the USB drive.
Please not, that currently it will only use the USIFAC II as mass storage device, when no other supported device is connected as well (SF2, X-Mass, M4Board, SF3).
It's a WIP version but should work ok on an existing installation. I wonder if you get it running with more than 128K.
sym-usifac2.zip (https://www.cpcwiki.eu/forum/index.php?action=dlattach;attach=38812;type=preview;file)
You should install these files over the base symbos install (from symbos.de) and it should work okay.
That and the above package worked for me on my 464/standard u2 and a revaldinho 512k expansion.
So long as it's all installed to the root of the usb stick (i.e. file "SYM" is on the root, and all the symbos programs are in "usb:symbos/")
it should just work fine.
That said, your mileage may vary with regards to how things work depending on CPC model and all that.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: pappous on 13:17, 06 April 23
Quote from: Devlin on 11:53, 06 April 23
Quote from: pappous on 18:41, 05 April 23
Quote from: poulette73 on 18:30, 05 April 23
Quote from: pappous on 18:09, 05 April 23Can anyone give me instructions how to load symbos with usifacii?
Hello,

Just here, it's very simple :
https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/new-multi-purpose-board512k-ram-expansion32x-rom-board256k-ram2x-rom-board/msg227584/#msg227584
I have done it and it did not work, so I replaced the file you previous gave us at a post for the usifac to work as storage and then it worked....
Quote from: Prodatron on 18:54, 16 February 23Quote from: Prodatron (https://www.cpcwiki.eu/forum/index.php?msg=225997) on 16/02/2023, 17:54:32
Here is a version, which should detect a USIFAC II and supports the USB drive.
Please not, that currently it will only use the USIFAC II as mass storage device, when no other supported device is connected as well (SF2, X-Mass, M4Board, SF3).
It's a WIP version but should work ok on an existing installation. I wonder if you get it running with more than 128K.
sym-usifac2.zip (https://www.cpcwiki.eu/forum/index.php?action=dlattach;attach=38812;type=preview;file)
You should install these files over the base symbos install (from symbos.de) and it should work okay.
That and the above package worked for me on my 464/standard u2 and a revaldinho 512k expansion.
So long as it's all installed to the root of the usb stick (i.e. file "SYM" is on the root, and all the symbos programs are in "usb:symbos/")
it should just work fine.
That said, your mileage may vary with regards to how things work depending on CPC model and all that.
Thats exactly what I did and worked. So everything is ok.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 17:32, 07 April 23
Quote from: Devlin on 11:53, 06 April 23You should install these files over the base symbos install (from symbos.de) and it should work okay.
That and the above package worked for me on my 464/standard u2 and a revaldinho 512k expansion.
So long as it's all installed to the root of the usb stick (i.e. file "SYM" is on the root, and all the symbos programs are in "usb:symbos/")
it should just work fine.
That said, your mileage may vary with regards to how things work depending on CPC model and all that.
Could you make a ready made zip file of this "custom" symbos install for anyone interested? And i could add it to the official USIfAC (https://www.cpcwiki.eu/index.php/USIFAC) page too.
Also @Prodatron could upload it to the official symbos page as a direct download for a USIfAC specific install of symbos ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 11:17, 15 April 23
Quote from: ikonsgr on 17:32, 07 April 23
Quote from: Devlin on 11:53, 06 April 23You should install these files over the base symbos install (from symbos.de) and it should work okay.
That and the above package worked for me on my 464/standard u2 and a revaldinho 512k expansion.
So long as it's all installed to the root of the usb stick (i.e. file "SYM" is on the root, and all the symbos programs are in "usb:symbos/")
it should just work fine.
That said, your mileage may vary with regards to how things work depending on CPC model and all that.
Could you make a ready made zip file of this "custom" symbos install for anyone interested? And i could add it to the official USIfAC (https://www.cpcwiki.eu/index.php/USIFAC) page too.
Also @Prodatron could upload it to the official symbos page as a direct download for a USIfAC specific install of symbos ;)
I will when I have the chance but I'm not near my CPC for another couple weeks yet, but your mileage may vary depending on configuration. I'm feeling like I got lucky with my setup, but I'll put something together when I'm near my machine again :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 11:22, 13 June 23
We just hit 400 units sold of USIfAC II (350) and ULIfAC (50) boards!  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 14:00, 13 June 23
So, the trend goes definitely to the USIfAC II  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 17:16, 14 June 23
Quote from: GUNHED on 14:00, 13 June 23So, the trend goes definitely to the USIfAC II  :)
Well, not exactly, USIfAC II is "on the market" since December 2020,but ULIfAC is only available for a few months ;-)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: darkhalf on 13:10, 21 June 23
Just some of my findings so far:

QuoteUsifac II works fine, when it's the only connected hardware expansion. As soon as I connect something else, it isn't working properly anymore.
I am finding the same thing as Podatron. CPC464 with DDI-1 interface will access drive A and B fine initially, but once |USB is enabled then those will freeze up, and AMSDOS is no longer available until power is removed from everything. Moved the USIFAC2 to ROM slot 8. Using version 6d at the moment (apparently there is a 6g version?)

Generally with my CPC464, use external 5V power via the MX4 interface to keep things stable, otherwise you will hit problems like no power on, until external reset is used

Symbos works fine when DDI-1 removed (with the symbos2.zip BIN files) and shows 512K using the revaldinho expansion and the expanded file system
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 19:54, 23 June 23
Quote from: darkhalf on 13:10, 21 June 23Just some of my findings so far:
QuoteUsifac II works fine, when it's the only connected hardware expansion. As soon as I connect something else, it isn't working properly anymore.
I am finding the same thing as Podatron. CPC464 with DDI-1 interface will access drive A and B fine initially, but once |USB is enabled then those will freeze up, and AMSDOS is no longer available until power is removed from everything. Moved the USIFAC2 to ROM slot 8. Using version 6d at the moment (apparently there is a 6g version?)
Generally with my CPC464, use external 5V power via the MX4 interface to keep things stable, otherwise you will hit problems like no power on, until external reset is used
Symbos works fine when DDI-1 removed (with the symbos2.zip BIN files) and shows 512K using the revaldinho expansion and the expanded file system
Did you try changing USIfAC II rom number to smaller number, like 3? As someone else note here (https://www.cpcwiki.eu/forum/index.php?msg=217380), using rom 3 he managed to use USIfAC II with flash gordon ROM extension
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: darkhalf on 13:19, 27 June 23
QuoteDid you try changing USIfAC II rom number to smaller number, like 3? As someone else note here (https://www.cpcwiki.eu/forum/index.php?msg=217380), using rom 3 he managed to use USIfAC II with flash gordon ROM extension
Using ROM3 did not resolve the issue. Audronic mentioned going from |USB enable (without disabling USB) to |A might be an issue

Note: latest MPLAB IPE versions no longer support PICKIT3. So I've gone back to the V5.45 version of IPE

I've updated to 6g version and note USIFAC II will enable USB each boot.
Test 1. After power on doing |A still freezes, even with just the 464 and no external devices (ie no AMSDOS)
Test 2. Doing |USB after boot (disable USB) and then |A responds, but CAT, LOAD etc attempt cassette access and lock up
Test 3. Removing USB stick ok. Access |A and |B OK
Test 4. Removing USB stick. Attempt CPM plus with drive A,B (using 6128 ROM + 512KB memory board) OK

I'll be interested in comparing against the CPC6128 which ikonsgr you are developing on
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 11:59, 29 June 23
Quote from: darkhalf on 13:19, 27 June 23Using ROM3 did not resolve the issue. Audronic mentioned going from |USB enable (without disabling USB) to |A might be an issue

Note: latest MPLAB IPE versions no longer support PICKIT3. So I've gone back to the V5.45 version of IPE

I've updated to 6g version and note USIFAC II will enable USB each boot.
Test 1. After power on doing |A still freezes, even with just the 464 and no external devices (ie no AMSDOS)
Test 2. Doing |USB after boot (disable USB) and then |A responds, but CAT, LOAD etc attempt cassette access and lock up
Test 3. Removing USB stick ok. Access |A and |B OK
Test 4. Removing USB stick. Attempt CPM plus with drive A,B (using 6128 ROM + 512KB memory board) OK

I'll be interested in comparing against the CPC6128 which ikonsgr you are developing on

 The "auto usb" is enabled by default, as most people want to use usb stick. If you want to use disk drive instead of USIfAC, you can simply disable the "auto usb" function by giving OUT &FBD1,93.You can also use |DIS that disables USifAC's Amsdos emulation completely and access directly disk drive.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Velociraptor on 03:04, 02 July 23
Is it possible to have a wifi module on the USIFAC2 and have it in a 3d printed case?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: SkulleateR on 09:17, 02 July 23
Quote from: Velociraptor on 03:04, 02 July 23Is it possible to have a wifi module on the USIFAC2 and have it in a 3d printed case?
https://www.cpcwiki.eu/forum/index.php?msg=221196

Guess the case hast to be updated for that module ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Velociraptor on 14:14, 02 July 23
Quote from: SkulleateR on 09:17, 02 July 23
Quote from: Velociraptor on 03:04, 02 July 23Is it possible to have a wifi module on the USIFAC2 and have it in a 3d printed case?
https://www.cpcwiki.eu/forum/index.php?msg=221196

Guess the case hast to be updated for that module ;)
I don't understand what you've linked, it doesn't seem to mention the case?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: SkulleateR on 09:23, 03 July 23
The link is the answer to : "Is it possible to have a WiFi module USIfAC 2"

The case is in Post#1 in this thread and has to be altered (I guess) ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 10:14, 18 July 23
For anyone with older USIfAC II firmware:
If you don't have, or don't want to buy a pickit programmer only for updating firmware of PIC MCU, and since i currently have a lot of PIC chips in stock,
i decide to offer a PIC Chip with the latest Firmware (6g) to replace it, for 5euros (including economy postage). Anyone interested, send pm to arrange.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 15:53, 19 August 23
MAJOR FIRMWARE UPDATE (rev.7):

New Firmware can be found here (https://www.dropbox.com/scl/fo/hezemyny7yrlqk76xsjsk/h?rlkey=52ion5qebc9caezkfozndx3sn&dl=0). ("USIfAC II_REV7(with bootloader).zip" file is the one with the bootloader, which needs to be flashed ONLY ONCE using a PICKIT programmer, "18f47q10_7.zip" is for updating firmware using the new serial programming/PIC kit programmer) .

Updates include:

- New Firmware is now equipped with a Bootloader, meaning that you can use a free program utility and a simple USB2SERIAL cable adapter (for a couple of euros...) for updating/fixing firmware! Of course this new ability requires revision 7 (rev.7) firmware or newer to be installed on your board. So, you must program ONCE the PIC MCU chip, using a pickit programmer as before, or i can send you a replacement PIC chip with the new Firmware installed, and any future firmware update/fix needed, you can do it yourself, very easy and almost for nothing! ;-)
You will need a usb2serial cable adapter like this (https://www.ebay.ie/sch/i.html?_from=R40&_trksid=p3814320.m570.l1313&_nkw=PL2303TA&_sacat=0)(PL2303TA) or adapter like this (https://www.ebay.ie/sch/i.html?_from=R40&_trksid=p2334524.m570.l1313&_nkw=6pin+cp2102+usb+2+ttl) (CP2102,for this type you will also need 4 female to female DuPont cables). For the most common PL2303 usb2ttl adapter cables, you can find drivers here (https://www.prolific.com.tw/US/ShowProduct.aspx?p_id=225&pcid=41) (also verify which chip version you need for the windows version you use)
Just, download and install the TinyMultiBootloaderPlus software (https://sourceforge.net/projects/tinypicbootload/files/latest/download) (TBL), Connect the USIfAC II board to the usb2serial adapter AND THEN to a usb port of your PC:

IMG_20230815_123435_439.jpg

Start TBL utility, set com PORT & speed to 115200bps, and select firmware HEX file. Then just click "Write Device" button and immediately push 'Reset" button on USIfAC II board. Flashing Firmware should start:

TBL.jpg

After completion of the process (in ~2minutes), disconnect usb2serial adapter , reconnect the USIfAC II card to Amstrad CPC and power up.
At the BASIC prompt enter: OUT &FBD2,5, Restart/Reset the Amstrad CPC and the USIfAC II message should now appear on the Startup Screen, that's it!  :)

-   User's Guide  (https://www.dropbox.com/scl/fi/g5uir7hkqml53m076hlmc/Amstrad-CPC-Serial-Interface-II-User-Guide_v4.pdf?rlkey=tr8vms709hym4nwmdyc0bge4o&dl=0)updated: Add the new rsx commands and a new "Updating the Firmware" section is added.

New Rsx Commands:

-|EXT,"filename": Extract a file from a dsk image to USB storage device. This was an old request, but i recently found out a rather easy way to do it, although with some limitations. I simply use AMSDOS disk routines to load file on memory (exactly as with RUN/LOAD commands) and then disable FDC emulation and use again AMSDOS disk routines to save file on usb device. ;-)
This method works for most BAS/BIN files, except for some games that use a binary file (usually of more than 42kb) which loads data into system memory areas, causing Amstrad CPC to reset or hang. I've also noticed that with some binaries i got a "syntax error" message at the end, in that case, although file is extracted correctly, you need to reset Amstrad afterwards.

- |TYPE,"file":Displays on screen ascii/text files. For larger texts, use any key to pause printing.

Updated RSX commands:

- |FORMAT,"D/S","A/B": As with file extraction from dsk images, i think this was an old request too. So, instead of having repeated questions for each disk you want to format (Select Drive A/B and Format Type DATA/SYSTEM),i modify Format command to be more direct: Without arguments (|FORMAT) it will directly format a disk using Data Format in Drive A (it just give a msg "insert Disk and press any key"). For System format and/or use of Drive "B" you must give extra arguments, for example: |FORMAT,"S","B" will use System format on Drive B. After each format completion, you return in Basic prompt, as with every other RSX command.

- |HELP: An optional argument is added (|HELP,2  or |HELP,3) which shows directly 2nd or 3rd help page. So, if for example, you want to see something on 3rd page, you wont have to view all help pages from the start ;-)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 07:35, 20 August 23
@ikonsgr

Hi John

Ok Flashed the PIC with the USIFACII_REV7.hex and it worked as soon as I set the ROM number to 5.
This is on my old BOMB CPC464 with Basic 1.0 Rom Fitted.

The AUTO USB Is Brilliant (I am Lazy - And Forgetful)

I tried 2 other roms (40022 - 664 Basic 1.1 and a 6128 Combo Rom Basic 1.1)
BUT they did not auto USB (Thats OK as the 464 ROM worked)

So far so good

Thanks for ALLLLLLL the work you have done on these devices

Keep Safe

Ray
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 13:42, 23 August 23
Once the update is done, will I still be able to use the pickit3 to update the firmware should I need to? or will reprogramming need to be done entirely by the serial link afterwards?

(probs an obvious question, but rather I know than accidentally shoot myself in the foot)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: poulette73 on 14:04, 23 August 23
Quote from: Devlin on 13:42, 23 August 23Once the update is done, will I still be able to use the pickit3 to update the firmware should I need to? or will reprogramming need to be done entirely by the serial link afterwards?
(probs an obvious question, but rather I know than accidentally shoot myself in the foot)

https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/ulifacusb-mass-storage-wifi-512kb-ram32xrom-board256k-ram16x-rom-board!/msg230951/#msg230951
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 14:17, 23 August 23
Groovy.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 07:13, 24 August 23
Quote from: Devlin on 13:42, 23 August 23Once the update is done, will I still be able to use the pickit3 to update the firmware should I need to? or will reprogramming need to be done entirely by the serial link afterwards?
(probs an obvious question, but rather I know than accidentally shoot myself in the foot)
Bootloader doesn't affect the ability to use any programmer, you can use ANY firmware and flash it with a PICKIT programmer.
BUT, if you want to use the much easier and simpler serial programming, you must flash ONLY ONCE, "USIfAC II_REV7(with bootloader).zip" firmware (which has both bootloader and rev3. firmware) using  a PICKIT programmer.
And, if you use PICKIT programmer you can flash directly the usual "18f47q10_7.zip" firmware too.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: shacpc on 10:42, 24 August 23
Hi John, by including the bootloader do you think that it is possible that in the future ULIIfAC or USIfAC II can execute a startup file of the type "autoexec.bas" as it happens in M4, in order to start the devices with some kind of software or homebrew?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 12:26, 24 August 23
Quote from: shacpc on 10:42, 24 August 23Hi John, by including the bootloader do you think that it is possible that in the future ULIIfAC or USIfAC II can execute a startup file of the type "autoexec.bas" as it happens in M4, in order to start the devices with some kind of software or homebrew?
Bootloader has nothing to do with  such  procedures, instead it requires extra code on initialization code of board's ROM.
 I've already did that with auto loading of roms (https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/ulifacusb-mass-storage-wifi-512kb-ram32xrom-board256k-ram16x-rom-board!/msg230174/#msg230174) function upon cold boot, with ULIfAC:
https://www.dropbox.com/scl/fi/upgici0jt1156vfulpvg1/VID_20230715_200034.mp4?dl=0&rlkey=f6hbxwkcb2js7u9gcipwjxc9m
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 00:39, 25 August 23
@ikonsgr 

Hi John

USIFAC II and a CPC464 With Various Roms (664 6128)

I was wondering if it is possible to Make the USB Stick be enabled Regardless of the 
Roms used.
I have tried the "Auto USB" Poke (out &fbd1,51) Which works well with the CPC464 rom Fitted

BUT it does not work with the other 2 roms (664 6128) that I have used ?

I would like to use the other 2 roms (664-6128) which contain BASIC 1.1
If it's possible to do it Then That would be Appreciated.

Thanks

Keep Safe 

Ray 
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 07:11, 25 August 23
@Audronic "Auto usb" function, should work regardless of the roms, i've tested numerous times on both CPC6128 and CPC464, (i don't have a CPC 664, but i suppose it doesn't have any problems too).
Btw,you should give: OUT &FBD1,92 to enable automatic usb device activation upon boot (and OUT &FBD1,93 to disable)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 12:44, 25 August 23
@ikonsgr

Ok I will try again With - out &FBD1,92 - and see how it goes

Thanks
Keep Safe

Ray
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 01:43, 26 August 23
@ikonsgr 

This is using a Standard CPC6128

I have tried using out &FBD1,92 and I am unable to get the USB activated from " POWERUP " 

it will enable the usb if I press the reset button after power up.

I have tried some of the other out commands and am still unable to get the USB enabled at PowerUP ?

Any thoughts ?

Thanks
Keep Safe

Ray
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: poulette73 on 06:14, 26 August 23
Hello,

For me it works on my 2 CPC 6128 and my 2 USIfAC II (6g)

If I enable this feature with OUT &FBD1,92, the Auto-USB is working all the time, even on every cold start. 😉
The option remains memorized even after the CPC is turned off.

(https://cpcrulez.fr/im4/2/poulette73-firmwa10.jpg)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Audronic on 08:10, 26 August 23
@ikonsgr 
@poulette73 

Cancel my request.
The USB Stick I was using is too SLOW changed it for a Faster one now OK

The CPC6128 now enables the USB at POWERUP

Thanks

Keep Safe

Ray
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 13:02, 02 September 23
Hello

Is it possible or is there a way to replace the games rom?    I have some ideas to implement but I need a rom where place my commands

Thank you
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: poulette73 on 14:28, 02 September 23
Hello,

I've just received my new PIC chips for my two USIfAC II :

(https://cpcrulez.fr/im4/7/poulette73-img198.jpg)

And after replacement here I am in V7 :

(https://cpcrulez.fr/im4/7/poulette73-img197.jpg)

This is great!
Now I will be able to carry out future updates myself without a PIC programmer.
Thanks John!  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 14:54, 02 September 23
Installed v7! All good on both 6128 and 464.
now, when's 7a coming out so i can test out the serial programmer :3
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 08:51, 03 September 23
Quote from: Fran123 on 13:02, 02 September 23Hello
Is it possible or is there a way to replace the games rom?    I have some ideas to implement but I need a rom where place my commands
Thank you
PIC's MCU Flash memory (where games are also written) can't be reprogrammed "on the fly", BUT there is also ~1K of EEPROM and i have implement a few RSX commands exactly for that: Add and save your own routines to the board! Quoting from user's Guide:

|WROM,'name': Write to Microcontroller‟s 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.Note also, that, you can use an RST3,&FC00 assembly command, in order to directly execute any code routine you have uploaded to EEPROM.(last 1kb of selected upper rom @ &fc000-&fffd is reserved for EEPROM, last 2 bytes are reserved for saving serial port speed and ROM number, thus you have 1022 instead of 1024 bytes available)


As you can see, you can load a binary from file or from a specific memory address to EEPROM, and then have access to the code either by loading at specific address or even directly using RST3 command
And if you want to develop larger code for your commands, it would be very easy to add them in PIC's flash memory by replacing any of the game (you will have to give me the  binary to add it to fw of course), thus create a new Custom FW for USIfAC II  ;)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 19:13, 03 September 23
Hi!

My English is not very good and I'm not sure understand you well.
Could you put an example of how to add a custom rom command in the eeprom?
I would like to develop a wget program and math operations.

Thank you
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 19:45, 03 September 23
what program do you use?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 10:19, 04 September 23
@Fran123 I use winape assembler, and then add a write directive, to produce the compiled binary code file, for example:
write"File.BIN" 
org &8000  ;; this is the start address of your code, you can use it with |LROM to load your code to ram from eeprom
;;Your actual source code

 If you assemble the above code, it will produce a "file.bin" binary file. Then you just copy this file to a usb stick, and with |WROM command mentioned before, directly load it in EEPROM.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 10:45, 04 September 23
Quote from: ikonsgr on 10:19, 04 September 23@Fran123 I use winape assembler, and then add a write directive, to produce the compiled binary code file, for example:
write"File.BIN" 
org &8000  ;; this is the start address of your code, you can use it with |LROM to load your code to ram from eeprom
;;Your actual source code

 If you assemble the above code, it will produce a "file.bin" binary file. Then you just copy this file to a usb stick, and with |WROM command mentioned before, directly load it in EEPROM.

just a minimal rom command to start on the right foot?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 10:49, 04 September 23
First give |WROM,"file.bin" to load binary into eeprom. Then you can access your code by giving a simple basic line:

10 |LROM,&8000:CALL &8000

Optionally you can also access your code from assembly, using an RST3,&FC00

Also, if you want to execute multiple functions, you can create a single binary file and use the output of compiler to determine what memory address to use for calling each function. For example lets say you have the following code:

WinAPE Z80 Assembler V1.0.13

000015  0000                write"FILE.BIN" 
000016  0000  (8000)        org &8000
000018  8000  47                ld    b,a
000019  8001  AF                xor    a
000020  8002  32 CD 84          ld    (tracks),a
000021  8005  3E FB                LD    A,&FB
000022  8007  DB DE                iN    A,(&De)
000023  8009  B7                or    a
000024  800A  CA 96 82          jp    z,usb_dis_err
000026  800D  78                ld    a,b
000027  800E  FE 01            cp    1
000028  8010  28 14            jr    z,continue_routine
000029  8012  FE 02            cp    2
000030  8014  28 03            jr    z,continue2_routine
000031  8016  C3 90 82          jp    no_file
000033  8019                continue2_routine
000034  8019  DD 6E 02          ld    l,(ix+2)            ;image name is on the 2nd argument
000035  801C  DD 66 03          ld    h,(ix+3)
000036  801F  CD D7 82          call    get_arg2
000037  8022  3E 41            ld    a,65
000038  8024  18 04            jr    cont5
000039  8026                continue_routine
------END OF 1st function/command-------------------------------------
000041  8026  CD D1 82          call    get_arg                ;e=image name size, hl=address of name
000042  8029  AF                xor    a
000044  802A                cont5
000045  802A  32 C4 84          ld    (multi_files),a
000046  802D  22 C5 84          ld    (image_name),hl
000047  8030  7B                ld    a,e
000048  8031  32 C7 84          ld    (image_name_size),a
000050  8034  3E FB            ld    a,&fb
000051  8036  DB D8            in    a,(&d8)                ;a=USIfAC II Rom number
000052  8038  32 91 83          ld    (set_dir+2),a
000054  803B                ;;------------------------------------------------
000055  803B                ;; find BIOS: READ SECTOR command
000056  803B                ;;-------------------------------------------
000057  803B  21 69 83          ld hl,cmd_bios_read_sector
000058  803E  CD D4 BC          call kl_find_command
000059  8041  D0                ret nc
000060  8042                ;; command found
000061  8042                ;; store address of command
000062  8042  22 66 83          ld (bios_read_sector),hl
000063  8045                ;; store "rom select" of command
000064  8045  79                ld a,c
000065  8046  32 68 83          ld (bios_read_sector+2),a
000066  8049                ;;------------------------------------------------
000067  8049                ;; find BIOS: move track command
000068  8049                ;;-------------------------------------------
000069  8049  21 6D 83          ld hl,cmd_bios_move_track

You use |LROM,&8000 to load all your code to ram, and then using CALL &8000 access the 1st function, and CALL &8026 ,access 2nd function. This is an easy way to develop multiple functions/commands using a simple piece of code ;-)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 11:24, 04 September 23
Quote from: ikonsgr on 10:49, 04 September 23First give |WROM,"file.bin" to load binary into eeprom. Then you can access your code by giving a simple basic line:

10 |LROM,&8000:CALL &8000

Optionally you can also access your code from assembly, using an RST3,&FC00

Also, if you want to execute multiple functions, you can create a single binary file and use the output of compiler to determine what memory address to use for calling each function. For example lets say you have the following code:

WinAPE Z80 Assembler V1.0.13

000015  0000                write"FILE.BIN" 
000016  0000  (8000)        org &8000
000018  8000  47                ld    b,a
000019  8001  AF                xor    a
000020  8002  32 CD 84          ld    (tracks),a
000021  8005  3E FB                LD    A,&FB
000022  8007  DB DE                iN    A,(&De)
000023  8009  B7                or    a
000024  800A  CA 96 82          jp    z,usb_dis_err
000026  800D  78                ld    a,b
000027  800E  FE 01            cp    1
000028  8010  28 14            jr    z,continue_routine
000029  8012  FE 02            cp    2
000030  8014  28 03            jr    z,continue2_routine
000031  8016  C3 90 82          jp    no_file
000033  8019                continue2_routine
000034  8019  DD 6E 02          ld    l,(ix+2)            ;image name is on the 2nd argument
000035  801C  DD 66 03          ld    h,(ix+3)
000036  801F  CD D7 82          call    get_arg2
000037  8022  3E 41            ld    a,65
000038  8024  18 04            jr    cont5
000039  8026                continue_routine
------END OF 1st function/command-------------------------------------
000041  8026  CD D1 82          call    get_arg                ;e=image name size, hl=address of name
000042  8029  AF                xor    a
000044  802A                cont5
000045  802A  32 C4 84          ld    (multi_files),a
000046  802D  22 C5 84          ld    (image_name),hl
000047  8030  7B                ld    a,e
000048  8031  32 C7 84          ld    (image_name_size),a
000050  8034  3E FB            ld    a,&fb
000051  8036  DB D8            in    a,(&d8)                ;a=USIfAC II Rom number
000052  8038  32 91 83          ld    (set_dir+2),a
000054  803B                ;;------------------------------------------------
000055  803B                ;; find BIOS: READ SECTOR command
000056  803B                ;;-------------------------------------------
000057  803B  21 69 83          ld hl,cmd_bios_read_sector
000058  803E  CD D4 BC          call kl_find_command
000059  8041  D0                ret nc
000060  8042                ;; command found
000061  8042                ;; store address of command
000062  8042  22 66 83          ld (bios_read_sector),hl
000063  8045                ;; store "rom select" of command
000064  8045  79                ld a,c
000065  8046  32 68 83          ld (bios_read_sector+2),a
000066  8049                ;;------------------------------------------------
000067  8049                ;; find BIOS: move track command
000068  8049                ;;-------------------------------------------
000069  8049  21 6D 83          ld hl,cmd_bios_move_track

You use |LROM,&8000 to load all your code to ram, and then using CALL &8000 access the 1st function, and CALL &8026 ,access 2nd function. This is an easy way to develop multiple functions/commands using a simple piece of code ;-)

But, I want to create a |WGET command.  Is it possible?

Have I write |LROM,&8000:CALL &8000 all times I want to use?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 11:28, 04 September 23
No,i'm afraid you can't create new rsx commands, at least not by yourself.
New rsx commands require to alter the boards Rom code, which is flashed into PIC flash program memory.
BUT, with ULIfAC board, you can create your own custom ROM (with whatever you want and with any rsx commands you like) and then simply add it to ULIfAC's rom board, even on cold boot, using the "auto rom loading (https://www.dropbox.com/scl/fi/upgici0jt1156vfulpvg1/VID_20230715_200034.mp4?rlkey=f6hbxwkcb2js7u9gcipwjxc9m&dl=0)" function i recently developed ;-)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 11:56, 04 September 23
I want to take the mx4 connector off my usifac2 and replace it with a right-angle edge connector instead of using the extension cable (because mine's been acting up)
Is it as easy as just taking the old mx4 off, and putting the edge connector(f) on it?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 08:34, 11 September 23
Hi John,

What about "HS06F014 ESP-01S.bin"?  Is it an standard AT firmware from Espressif?  Or is it programmed by you?  In that case, what functionality have you added?

Thank you
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 17:02, 11 September 23
Quote from: Fran123 on 08:34, 11 September 23Hi John,
What about "HS06F014 ESP-01S.bin"?  Is it an standard AT firmware from Espressif?  Or is it programmed by you?  In that case, what functionality have you added?
Thank you
No, it's just an older ESP firmware that is tested and works 100%, so if you got a newer esp module and doesn't work with the current fw, you can try flash it with this.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 17:49, 11 September 23
Does data traffic between the Amstrad and the Usifac2's serial port pins go through the microcontroller?

Another question:

In manual, you say if we want to send a byte we must write:


ld a, x
ld bd, &fbd0
out (c), a

but OUT instruction (http://z80-heaven.wikidot.com/instructions-set:out) "Writes the value of the second operand into the port given by the first operand".
So,  what is register B used for?
If B is not used we could use OTIR to write faster to serial port
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 18:50, 11 September 23
Quote from: Fran123 on 17:49, 11 September 23So,  what is register B used for?
If B is not used we could use OTIR to write faster to serial port
https://www.cpcwiki.eu/forum/programming/quick-question-regarding-an-out-command/
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 20:46, 11 September 23
Quote from: Fran123 on 17:49, 11 September 23Does data traffic between the Amstrad and the Usifac2's serial port pins go through the microcontroller?

Another question:

In manual, you say if we want to send a byte we must write:


ld a, x
ld bd, &fbd0
out (c), a

but OUT instruction (http://z80-heaven.wikidot.com/instructions-set:out) "Writes the value of the second operand into the port given by the first operand".
So,  what is register B used for?
If B is not used we could use OTIR to write faster to serial port

B is used, because the CPC is - not an 8 - it is an 16 bit I/O computer.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 19:15, 22 September 23
Hi

I'm working in a set of programs for UsifacII. I do that with Winape.
When I was going to try some  parts, the real CPC reboots.
The program first at all installs some RSX commands when I do CALL &8000.  In Winape doesn't reboot.

The BIN file I load is in USB-DRIVE and it hasn't AMSDOS Header.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 08:11, 23 September 23
Quote from: Fran123 on 19:15, 22 September 23When I was going to try some  parts, the real CPC reboots.
The program first at all installs some RSX commands when I do CALL &8000.  In Winape doesn't reboot.
The BIN file I load is in USB-DRIVE and it hasn't AMSDOS Header.
In order to load a bin file into Amstrad's memory it must have a header. An easy way to do that is to use cpcdiskxp utility. You create a dummy dsk image and then add your headerless binary (created by winape assembler), you will get a prompt window to add header:

header.jpg

You place 0x8000 on both addresses (fisrt is the memory address for placing code, 2nd is the execution address) and then extact the file from dsk image to usb stick. After that you can load and use your code with a couple of Basic commands:

10 MEMORY &7fff  ;this must always be address-1, in your case &8000-1=&7fff
20 LOAD"FILE.BIN",&8000:CALL &8000
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: d_kef on 08:31, 23 September 23
It's easy to add an AMSDOS header with WinAPE assembler:

;--------- BIN file AMSDOS header -----------------
    org   0
    checksum reset
    db    0,"MYPROG  BIN"
    ds    6,0
    db    2
    dw    0
    dw    binstrt
    db    0
    dw    binend-binstrt
    dw    binstrt
    ds    #24,0
    dw    binend-binstrt
    db    0
    dw    checksum()
    ds    #3b,0

;--------------------------------------------------
    org    binstrt

; some code

binend:
end

d_kef
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 09:56, 23 September 23
Hi

How much current does UsifacII need?

If I use it with no external PSU, CHT376 module is recognized, but, if I use an 1.5A external PSU is not recognized.
When I use it with out external PSU I can't use ESP01 and USB-drive at same time.

Thanks
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 11:29, 23 September 23
Quote from: d_kef on 08:31, 23 September 23It's easy to add an AMSDOS header with WinAPE assembler:

;--------- BIN file AMSDOS header -----------------
    org  0
    checksum reset
    db    0,"MYPROG  BIN"
    ds    6,0
    db    2
    dw    0
    dw    binstrt
    db    0
    dw    binend-binstrt
    dw    binstrt
    ds    #24,0
    dw    binend-binstrt
    db    0
    dw    checksum()
    ds    #3b,0

;--------------------------------------------------
    org    binstrt

; some code

binend:
end

d_kef

It gives "undefined symbol error",binstrt, binend should be defined as binstrt: and not as: dw binstrt
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: d_kef on 11:36, 23 September 23
Nope. You have to define the load address of your .bin file (eg. &2000) preferably in the start of your code, like this:

binstrt   equ #2000

d_kef
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 17:32, 23 September 23
Quote from: Fran123 on 09:56, 23 September 23Hi

How much current does UsifacII need?

If I use it with no external PSU, CHT376 module is recognized, but, if I use an 1.5A external PSU is not recognized.
When I use it with out external PSU I can't use ESP01 and USB-drive at same time.

Thanks
As I understand it, I'm led to believe that you can only have one active at the same time?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 19:54, 23 September 23
Quote from: Devlin on 17:32, 23 September 23
Quote from: Fran123 on 09:56, 23 September 23Hi

How much current does UsifacII need?

If I use it with no external PSU, CHT376 module is recognized, but, if I use an 1.5A external PSU is not recognized.
When I use it with out external PSU I can't use ESP01 and USB-drive at same time.

Thanks
As I understand it, I'm led to believe that you can only have one active at the same time?
I don't know. But when I use the external power supply (3A) neither the wifi module works nor the usb. module.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: poulette73 on 22:11, 23 September 23
This is normal operation (nothing to do with PSU voltage), @ikonsgr has already explained it, both cannot work simultaneously 😉

When using serial communication:
- serial with USB cable.
- serial with bluetooth module.
- serial with wifi module.

=> USB module CH376 (USB key) is disabled.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 22:15, 23 September 23
When I use external PSU (3A) and USB-drive and NO Wifi module, CHT376 module is not recognized.

UsifacII ROM message appears at booting.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: poulette73 on 22:36, 23 September 23
Quote from: Fran123 on 22:15, 23 September 23When I use external PSU (3A) and USB-drive and NO Wifi module, CHT376 module is not recognized.

UsifacII ROM message appears at booting.
Yes I understand, your problem is different : either a voltage problem, or a USB key problem...
Many USB keys are either not recognized, or poorly recognized, or take a long time to initialize.
In this case I recommend deactivating the "Auto USB" function, and manually activating USB at startup with |USB.
And try with few others USB keys.

I was just responding to the previous message, to confirm that Wifi and USB key do not work simultaneously.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 09:08, 24 September 23
@Fran123, mind also that you must remove the cap from internal power jumper next to external 5V connector, when you want to use external power.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 15:14, 25 September 23
Quote from: ikonsgr on 09:08, 24 September 23@Fran123, mind also that you must remove the cap from internal power jumper next to external 5V connector, when you want to use external power.

do you mean the jumper next to the P_S label?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 15:23, 25 September 23
The only jumper in the board is one on TX-DOT position
(https://digilog.pk/cdn/shop/products/Arduino_USB_Disk_Read-write_Module_USB_Flash_Disk_PAKISTAN.jpg?v=1687010559&width=600)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 15:55, 25 September 23
Quote from: Fran123 on 15:14, 25 September 23
Quote from: ikonsgr on 09:08, 24 September 23@Fran123, mind also that you must remove the cap from internal power jumper next to external 5V connector, when you want to use external power.

do you mean the jumper next to the P_S label?
I mean the jumper with cap next to 5V external connector:
ulifac_2.jpg
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 17:22, 25 September 23
But I have the UsifacII, not Ulifac
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 08:44, 26 September 23
Quote from: Fran123 on 17:22, 25 September 23But I have the UsifacII, not Ulifac
USIfAC II doesn't have external power connector and so it doesn't support external power supply.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 09:31, 26 September 23
Quote from: ikonsgr on 08:44, 26 September 23
Quote from: Fran123 on 17:22, 25 September 23But I have the UsifacII, not Ulifac
USIfAC II doesn't have external power connector and so it doesn't support external power supply.
I power it using a MX4 board
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 22:12, 26 September 23
A too weak (regarding Volts) PSU is imho by far to cause of problems. Do you have a Y cable (5 Volt supply) and can measure Volts? Should not be too far under 5 Volts.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 21:07, 27 September 23
Can we use ports FE80 and FE81 to access the CH376 module?

Sorry for the question, but the CPC is far from me now.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 22:21, 27 September 23
see wiki page or manual on its homepage
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: d_kef on 10:24, 29 September 23
Quote from: Fran123 on 21:07, 27 September 23Can we use ports FE80 and FE81 to access the CH376 module?

Sorry for the question, but the CPC is far from me now.
Yes we can.

d_kef
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 17:43, 05 October 23
Quote from: GUNHED on 22:12, 26 September 23A too weak (regarding Volts) PSU is imho by far to cause of problems. Do you have a Y cable (5 Volt supply) and can measure Volts? Should not be too far under 5 Volts.
5 volts
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 19:01, 05 October 23
Quote from: GUNHED on 22:21, 27 September 23see wiki page or manual on its homepage
It does not say anything about my card problem
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 23:11, 05 October 23
Did you measure the Volts under load using an Y cable? And you got 5 Volt, then: Great! Because this excludes the #1 error.  :)

Can you exclude parts of your setup to see if it changes something? That could be helpful.  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 11:21, 06 October 23
Quote from: GUNHED on 23:11, 05 October 23Did you measure the Volts under load using an Y cable? And you got 5 Volt, then: Great! Because this excludes the #1 error.  :)

Can you exclude parts of your setup to see if it changes something? That could be helpful.  :)
Now I only have the MX4 connected with the UsifacII board.  I don't think I can exclude anything anymore.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 11:44, 06 October 23
Hi @ikonsgr 

I have a technical question about the operation of the board: when CAT is executed, where is the list of programs to be displayed on the screen built? in the amstrad or in PIC?

I have done tests with an arduino and an SD card. I read the names of the files and get their size and add them to an ordered list. When it is finished, I send all the information with Serial.println() so that it looks good on the screen, then all the Amstrad has to do is print on the screen what it receives from the PIC. Additionally, you can obtain additional information such as the number of bytes in the file (instead of kilobytes) and the date.

I also think that in a future revision of the project an ESP8266 could be added (the ESP01 consumes up to 800 mA) programmed to avoid having to use AT commands, which would have functions, such as downloading files. An alternative ROM could have, for example, a rsx command |DOWNLOAD,"<url>", then the PIC would send a function code and the URL to the ESP, the ESP would be in charge of downloading the file and returning it to the PIC and the PIC to the Z80, and it saves the file.

A kind of links-type browser could also be implemented using the ESP memory.

What do you think of all this?  do you think it is viable?

Another question is: what prevents using USB and serial port at the same time? Do they share any lines?

Thank you so much.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 12:36, 06 October 23
@Fran123
 
  Yes, all UART ports (wifi, serial, usb host module) are actually the same hardware serial port of PIC mcu, so you can't use more than one at the same time.
Now, for program developing, instead of CAT you can use the |MAN command. As i note in User's guide, this resembles |CAT, but instead of getting the list of files/subfolders of a usb device to screen, it outputs the list of files/subfolders into RAM, starting from &2b00, and uses '1' as name separator,'2' to mark end, e.g.: 1NAME1NAME1NAME...1NAME2. Function is used by filemanager utility, but it would also be useful for anyone want to develop it's own programs.
 About esp wifi module, i think that the vast majority of Amstrad users would want the usb stick functionality, and that's why after initial presentation of the USIfAC II on December of 2021, in a few months i've decided to revise board and mount permanently a usb host module onto the board.
 Now, as i already implement the windows program, that supports direct connection and functions for load/save/run of files directly through tcp/ip and wifi module connected on Amstrad CPC, i don't think i would be interested to develop anything further in the near future. One thing that it might be helpful, would be to develop an android program for connecting with Amstrad, but this would require much time and effort, so, if you want you can give it a try  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Fran123 on 10:54, 13 October 23
well... I think the possibility of the Wi-Fi connection is wasted.
By reprogramming an esp we would have more functionalities apart from the connection to the PC. Did you implement downloading files with AT commands? Using a program in the ESP would be easier and so would the ROM.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 18:30, 26 October 23
I'm having trouble with a DSK loaded with the FDC emulation of the USIfAC II -

DSC #4 by Logon System

http://logon.system.free.fr/down/DSC4.DSK

If I load this directly from a 3" disc, or from direct files on the usb stick, it loads completely fine.

**HOWEVER**

If I load this via the FDC emulation (on 464[crtc0] or 6128[crtc2]), it will fail after the intro screen (rolling image/loss of sync).

Any thoughts on what might be causing the FDC emulation to hitch the system and break demos, etc etc?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 19:54, 26 October 23
Quote from: Fran123 on 10:54, 13 October 23well... I think the possibility of the Wi-Fi connection is wasted.
By reprogramming an esp we would have more functionalities apart from the connection to the PC. Did you implement downloading files with AT commands? Using a program in the ESP would be easier and so would the ROM.
Well, who is going to program this? And how much are people willing to pay for the needed time? (Yes, both questions are of rhetorical nature - but may explain the reason for things being the way they are.)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 21:07, 30 October 23
Quote from: Devlin on 18:30, 26 October 23I'm having trouble with a DSK loaded with the FDC emulation of the USIfAC II -

DSC #4 by Logon System

http://logon.system.free.fr/down/DSC4.DSK

If I load this directly from a 3" disc, or from direct files on the usb stick, it loads completely fine.

**HOWEVER**

If I load this via the FDC emulation (on 464[crtc0] or 6128[crtc2]), it will fail after the intro screen (rolling image/loss of sync).

Any thoughts on what might be causing the FDC emulation to hitch the system and break demos, etc etc?

Is this a demo? It might do weird things with 6845CRT controller (and perhaps 765 fdc controller too). Also, did you try to extract files and load it directly instead of using the bulky dsk image?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 21:13, 30 October 23
Quote from: ikonsgr on 21:07, 30 October 23
Quote from: Devlin on 18:30, 26 October 23I'm having trouble with a DSK loaded with the FDC emulation of the USIfAC II -

DSC #4 by Logon System

http://logon.system.free.fr/down/DSC4.DSK

If I load this directly from a 3" disc, or from direct files on the usb stick, it loads completely fine.

**HOWEVER**

If I load this via the FDC emulation (on 464[crtc0] or 6128[crtc2]), it will fail after the intro screen (rolling image/loss of sync).

Any thoughts on what might be causing the FDC emulation to hitch the system and break demos, etc etc?

Is this a demo? It might do wierd things with 6845CRT controller. Also, did you try to extract files and load it directly instead of using the bulky dsk image?
Yes. The demo ran completely fine when the image was written to a real disc, and if the files were extracted to the USB stick.

I wouldn't have reported it had it happened on a real disc or via files extracted to usb.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 09:06, 25 November 23
Updated prices:

 Stand alone USIfAC II board (including usb host module): 16euros
 Edge connector Ribbon cable: 3 Euros
 Centronics Ribbon cable: 4 Euros
 Postage (registered/tracked): 8 Euros for Europe, 9 Euros for overseas
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: poulette73 on 11:29, 25 November 23
Wow.... Absolutely unbeatable price !!  😮

Thank you John for everything you bring to the entire CPC community. 👍🙏
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 09:16, 01 December 23
To Celebrate the 3 Years Anniversary of USIfAC II, i will make a special offer for all December:

Stand alone USIfAC II board (including usb host module): 11euros
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: wolfgang on 22:57, 04 December 23
Hi,

I just noticed that my USIFAC II's (I have two of them) don't work with the latest Software  USIFACII_REV7.hex and 18f47q10_7_.hex but they do work fine with Version 18f47q10_6g.hex or older ones.

I use a Pickit 3 Programmer and Microchip MPLAB X IPE v6.00 Software to flash them, works fine.

Its not a problem (I normally use ULIFAC anyway) I just wondered if anybody else has noticed?



Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 17:36, 05 December 23
Quote from: wolfgang on 22:57, 04 December 23Hi,

I just noticed that my USIFAC II's (I have two of them) don't work with the latest Software  USIFACII_REV7.hex and 18f47q10_7_.hex but they do work fine with Version 18f47q10_6g.hex or older ones.

I use a Pickit 3 Programmer and Microchip MPLAB X IPE v6.00 Software to flash them, works fine.

Its not a problem (I normally use ULIFAC anyway) I just wondered if anybody else has noticed?

Can't say i've tried - I have v5.50 installed as I heard there were issues with v6 so never updated.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Brocky on 01:12, 06 December 23
Quote from: wolfgang on 22:57, 04 December 23Hi,

I just noticed that my USIFAC II's (I have two of them) don't work with the latest Software  USIFACII_REV7.hex and 18f47q10_7_.hex but they do work fine with Version 18f47q10_6g.hex or older ones.

I use a Pickit 3 Programmer and Microchip MPLAB X IPE v6.00 Software to flash them, works fine.

Its not a problem (I normally use ULIFAC anyway) I just wondered if anybody else has noticed?




did you give the OUT &FBD2,x command to set the rom number? rev6 automatically sets it, but 7 needs it done manually on first boot
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 18:20, 08 December 23
Quote from: wolfgang on 22:57, 04 December 23Hi,

I just noticed that my USIFAC II's (I have two of them) don't work with the latest Software  USIFACII_REV7.hex and 18f47q10_7_.hex but they do work fine with Version 18f47q10_6g.hex or older ones.

I use a Pickit 3 Programmer and Microchip MPLAB X IPE v6.00 Software to flash them, works fine.

Its not a problem (I normally use ULIFAC anyway) I just wondered if anybody else has noticed?

 After flashing PIC with REV7 fw, first time you power on Amstrad, you should give out &fbd2,5 to set board's Rom number.  On previous fw versions, if no number was set it defaults to 5 (that's why it worked without needing to set rom no.), but as this might cause problems, i've decide it to remove it and make setting of rom number after flashing the PIC mandatory. Of course setting rom number (out &fbd2,x)  needs to be done only once, after flashing PIC (after that, rom no. is saved into PIC's EEPROM), also you might need to do it again, if for some reason you don't get USIfAC's boot message on screen.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 19:13, 13 December 23
I made some modifications on USIfAC Rev7 firmware, in order to resolve the "hang up upon boot" problem with some CPC464, as it is suggested by @GL here (https://www.cpcwiki.eu/forum/hardware-related/usifac-ii-technical-problems-support/msg233907/#msg233907).
So with the new fw, board boots with FDC emulation active and then deactivated, after "dual boot" of CPC464 at the end of ULIfAC Board ROM initialization.
I've tried it on both CPC6128 & CPC464 of mine, and it seems to work ok, but as i don't have a "sticky boot" CPC464,i can't tell if it actually resolve the problem.
So, anyone having this weird "hang-up upon boot/reset" on a CPC464, try to update with this firmware (REV7a, for the moment, NOT an official firmware): https://www.dropbox.com/scl/fi/xob716tul3sbpjk40orkg/18f47q10_7a_.zip?rlkey=1o9acs1alj4f2i9vw1sfk0xf0&dl=0
Note this is the plain hex, WITHOUT the bootloader, so you can use either PICKIT to update, or if you have REV3. board, you can use the simpler method with the usb2serial cable too.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 23:27, 13 December 23
I'll try within the next few days and give feedback. 
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Brocky on 03:10, 14 December 23
heres some interesting observations with REV7a

i put USIFAC II in a slot on my MX4 board..alone, no other addon cards, powered up the CPC and gave the out &fbd2,5 command and rebooted.
it boots and i can see usifac and usb are detected, cpc reboots itself and hangs at the end of the amstrad licence info. it just hangs there and doesnt go any further...

but heres the interesting thing....
if i plug the M4 board into another slot alongside the usifac on the MX4 and boot, then the 2nd boot IS successful!! no hang on boot! and USB is perfectly usable!
now, i do have 6128 roms loaded up in M4, (i also have a modified 6128 rom onboard).. and if i CAT i get M4 files |CAT gives usifac files (cant use both at same time usifac overwrites M4s |CD command! but roms loaded on M4 work fine with usifac)
EDIT: after switching cpc off, and powering back up, now its gone into a bootloop... if i change the slot the usifac is in, i can sometimes get it to boot with USB working, but after power down and back up, it goes into bootloop! (with m4)..removing USB stick allows it to boot normally..
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 15:59, 14 December 23
Eventually I started working with my new USIfAC II (7) yesterday. 
And it seems all to work well. 
There are so much features!
Great product! :-)))))))))

However as newbie to USIfAC II, may I ask some questions please...

- Can I use a ROM expansion together with USIfAC II? Which one(s)?
- Is the source code of the ROM available?

I would be especially interested in a list of compatible expansions.

Any help is appreciated.  :) :) :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: wolfgang on 16:44, 14 December 23
Quote from: ikonsgr on 18:20, 08 December 23
Quote from: wolfgang on 22:57, 04 December 23Hi,

I just noticed that my USIFAC II's (I have two of them) don't work with the latest Software  USIFACII_REV7.hex and 18f47q10_7_.hex but they do work fine with Version 18f47q10_6g.hex or older ones.

I use a Pickit 3 Programmer and Microchip MPLAB X IPE v6.00 Software to flash them, works fine.

Its not a problem (I normally use ULIFAC anyway) I just wondered if anybody else has noticed?

 After flashing PIC with REV7 fw, first time you power on Amstrad, you should give out &fbd2,5 to set board's Rom number.  On previous fw versions, if no number was set it defaults to 5 (that's why it worked without needing to set rom no.), but as this might cause problems, i've decide it to remove it and make setting of rom number after flashing the PIC mandatory. Of course setting rom number (out &fbd2,x)  needs to be done only once, after flashing PIC (after that, rom no. is saved into PIC's EEPROM), also you might need to do it again, if for some reason you don't get USIfAC's boot message on screen.
Hi,

many thanks for the info (it was probably mentioned somewhere before already, but I did not remember), changed firmware to Rev 7 and gave Output, now everything works perfect.

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 17:51, 14 December 23
Quote from: GUNHED on 15:59, 14 December 23- Can I use a ROM expansion together with USIfAC II? Which one(s)?
- Is the source code of the ROM available?

  When you say "rom expansion" you mean rom board? Obviously you can use my RAM/ROM board, but possibly other rom boards might be compatible too.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 17:55, 14 December 23
Quote from: Brocky on 03:10, 14 December 23now, i do have 6128 roms loaded up in M4, (i also have a modified 6128 rom onboard)...
Perhaps, this is why USIfAC works with your "Sticky cpc464" when you also plug M4 board: The 6128 roms probably mix up USIfAC, to "think" it's connected to a CPC6128, so everything works ok (as with a normal CPC 6128).

Quote from: Brocky on 03:10, 14 December 23removing USB stick allows it to boot normally..
Did you also try to disable "auto usb" (by giving OUT &FBD1,93) and see if that works too?After all, the only "nuisance" would be to give an extra |USB after boot :-)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Brocky on 23:24, 14 December 23
Quote from: ikonsgr on 17:55, 14 December 23
Quote from: Brocky on 03:10, 14 December 23now, i do have 6128 roms loaded up in M4, (i also have a modified 6128 rom onboard)...
Perhaps, this is why USIfAC works with your "Sticky cpc464" when you also plug M4 board: The 6128 roms probably mix up USIfAC, to "think" it's connected to a CPC6128, so everything works ok (as with a normal CPC 6128).

Quote from: Brocky on 03:10, 14 December 23removing USB stick allows it to boot normally..
Did you also try to disable "auto usb" (by giving OUT &FBD1,93) and see if that works too?After all, the only "nuisance" would be to give an extra |USB after boot :-)

strange thing is i have patched 6128 ROM onboard, and the behaviour is different with M4 and 6128 ROMs loaded...and if i go back to original 464 ROM, it acts the same as the 6128 ROM, but with the 464 limitations (strings!)

and yes i also disabled auto USB, and it still works. i can live without the auto USB function..


as for the compatability with other devices, the ROM and WIFI side of M4 works fine, the only issue ive found is i cant change directory on M4 while USIFAC is connected, i can access and load files if they are on the root of the M4s SD card, with normal CAT command, |CAT lists usifac files) id like to maybe change one of the devices |CD RSX command labels/names to another name to see if both can run side by side without any command clashes..
also the universal 512kb ram card seems to work fine with usifac
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 11:50, 15 December 23
@Brocky very nice information about USIfAC II compatibility with other boards, thanks for sharing! ;-)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 09:44, 17 December 23
I made some changes and update the 7a firmware, that might have better results with "sticky 464".
So, anyone having the "hang-up upon boot/reset" on a CPC464, try to update with this firmware (REV7a, for the moment, NOT an official firmware):
https://www.dropbox.com/scl/fi/xob716tul3sbpjk40orkg/18f47q10_7a_.zip?rlkey=1o9acs1alj4f2i9vw1sfk0xf0&dl=0
Note this is the plain hex, WITHOUT the bootloader, so you can use either PICKIT to update, or if you have REV3. board, you can use the simpler method with the usb2serial cable too.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 16:22, 17 December 23
Quote from: ikonsgr on 17:51, 14 December 23
Quote from: GUNHED on 15:59, 14 December 23- Can I use a ROM expansion together with USIfAC II? Which one(s)?
- Is the source code of the ROM available?

  When you say "rom expansion" you mean rom board? Obviously you can use my RAM/ROM board, but possibly other rom boards might be compatible too.
Well, yes, ROM-expansions like X-MEM, MegaFlash, FlashGordon, M4, SF2/3, ROM-RAM-Box, RAMcard or just a simple EPROM expansion. Everything where we can have expansion ROMs constantly. 

Maybe the users have done this before. So before I do all the experiments by myself I'd like to ask.

Reason? I want to do software located in ROM being able to use the USB stick.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: XeNoMoRPH on 07:35, 18 December 23
new version !!!


QuoteLiliCPC is a set of software and loaders in Basic that makes it easy to use your Amstrad CPC or CPC+ models in "console mode", allowing you to load digitized backup copies of your games or applications quickly and comfortably, requiring a USB device or MicroSD card connected to ULIfAC/USIfAC II+Memory Exp. (@Ikonsgr) or to the M4 (@Duke).

https://shacpc.itch.io/lilicpc  ( available to download from the 24th )

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 16:58, 18 December 23
First test: collaboration of USIfAC II with FlashGordon (512 KB Flash) and Gemini (2 MB RAM).

Result: Works, but the ROM in FlashGordon, which is also used by the USIfAC II ROM (I mean the same ROM select / ROM number), must be deleted to &FF in FlashGordon.

Note: The ROM number of the USIfAC II ROM can be set with OUT &FBD2,nr 
For example it can also be set to 33. But, can it be deactivated?

Has anyone else ever used the USIfAC II with a flash card / ROM expansion?
Please share your successful experiences.  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 19:54, 18 December 23
Quote from: GUNHED on 16:58, 18 December 23First test: collaboration of USIfAC II with FlashGordon (512 KB Flash) and Gemini (2 MB RAM).

Result: Works, but the ROM in FlashGordon, which is also used by the USIfAC II ROM (I mean the same ROM select / ROM number), must be deleted to &FF in FlashGordon.
Note: The ROM number of the USIfAC II ROM can be set with OUT &FBD2,nr
For example it can also be set to 33. But, can it be deactivated?
Has anyone else ever used the USIfAC II with a flash card / ROM expansion?
Please share your successful experiences.  :)
About USIfAC II deactivation, you can indeed 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).
You can also re-enable board by giving: OUT &FBD1,101 and then either reset amstrad or give out &fbd1,0 (which resets USIfAC II board).
About Flashgordon you should use ron number 3 (OUT &FBD2,3 for max compatibility), but if you still have problems @poulette73  found a solution: https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/usifac-iimake-your-pc-or-usb-stick-an-hdd-for-amstrad-access-dsk-and-many-more!/msg219228/#msg219228
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Brocky on 03:14, 19 December 23
@ikonsgr is this new 7a any different from the last modified rev7 we played with a week or so ago? or does it have some other changes too?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 10:09, 19 December 23
Quote from: Brocky on 03:14, 19 December 23@ikonsgr is this new 7a any different from the last modified rev7 we played with a week or so ago? or does it have some other changes too?
It has some changes in initialization code of the board,i found out that in some cases, FDC emulation was disabled after initial boot of Amstrad,so i modified the code to ensure that FDC emulation will be active upon all boot process.
  @Josip who had boot problems with his CPC 464 and ULIfAC already confirmed (https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/ulifacusb-mass-storage-wifi-512kb-ram32xrom-board256k-ram16x-rom-board!/msg234370/#msg234370) better behavior, so maybe the same will happen with USIfAC II and "Sticky CPC464" too.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Brocky on 15:08, 19 December 23
Quote from: ikonsgr on 10:09, 19 December 23
Quote from: Brocky on 03:14, 19 December 23@ikonsgr is this new 7a any different from the last modified rev7 we played with a week or so ago? or does it have some other changes too?
It has some changes in initialization code of the board,i found out that in some cases, FDC emulation was disabled after initial boot of Amstrad,so i modified the code to ensure that FDC emulation will be active upon all boot process.
  @Josip who had boot problems with his CPC 464 and ULIfAC already confirmed (https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/ulifacusb-mass-storage-wifi-512kb-ram32xrom-board256k-ram16x-rom-board!/msg234370/#msg234370) better behavior, so maybe the same will happen with USIfAC II and "Sticky CPC464" too.
thanks...ill try it out tomorrow
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Brocky on 09:10, 20 December 23
EDIT ..sorry wrong thread...

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 19:46, 20 December 23
We have passed the 500 limit for both boards, 400 USifAC II+ 105 ULIfAC sold worldwide!
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ford68 on 23:59, 20 December 23
...and I'm proud to be one of those users soon  ;D

When I read this thread, both boards seem to be a really good addition for the CPC's...
...and shame on me, since yesterday I don't know anything about this boards... :picard:

Best regards to this fantastic community...and of course a big THX to John...
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 18:09, 21 December 23
Congratulation to 400 units of USIfAC II - this makes it the 2nd most sold expansion for the CPC during the last 30 years!!!  :) :) :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 18:30, 03 January 24
I just upload a new firmware (rev.7b (https://www.dropbox.com/scl/fi/bk9trxb4c1r4kybalqzxk/18f47q10_7b_.zip?rlkey=d3n0rz1f5qj6g420yvjdmbf12&dl=0)), i made some modifications to the usb device initialization code (affects |USB and "auto usb). If your board works ok, you don't need to update, but if you have booting problems you can try and see if there is any change in behavior.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 22:02, 13 January 24
Quote from: ikonsgr on 18:30, 03 January 24I just upload a new firmware (rev.7b (https://www.dropbox.com/scl/fi/bk9trxb4c1r4kybalqzxk/18f47q10_7b_.zip?rlkey=d3n0rz1f5qj6g420yvjdmbf12&dl=0)), i made some modifications to the usb device initialization code (affects |USB and "auto usb). If your board works ok, you don't need to update, but if you have booting problems you can try and see if there is any change in behavior.
Works great on the 464, but on my 6128, I can't mount disk images at all and I have to reset the cpc to get usb or real disk capability back.

I also noticed that even following the instructions I cannot *at all* get the usifac2 to be recognised by tinymultibootloader+ to program by serial, meaning I had to do chip swapping on my newer usifac2 to update it with my older rev board and the pickit3.

I also found a really rather lovely utility on CPC-Power while "random surfing" - a little BASIC listing which lets you use strings on 464 as if it were a 6128 - may be useful to those who don't particularly want to switch out firmwares or can't for whatever reason. This is a great excuse to ask for an "auto-run" feature because i'd love to have this just run on start-up

https://www.cpc-power.com/index.php?page=detail&num=13720


Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: jesusdelmas on 23:25, 13 January 24
Wow this is really cool, is there still time to buy one USifAC? I would be interrsted  :) :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 12:41, 14 January 24
Quote from: Devlin on 22:02, 13 January 24Works great on the 464, but on my 6128, I can't mount disk images at all and I have to reset the cpc to get usb or real disk capability back.
You mean that with previous fw worked fine and with rev7b you can't mount dsk images on CPC 6128? That's really doesn't make any sense, the modification had nothing to do with dsk image support and also i never heard of any problem ragarding CPC6128 before...  ::)

Quote from: Devlin on 22:02, 13 January 24I also noticed that even following the instructions I cannot *at all* get the usifac2 to be recognised by tinymultibootloader+ to program by serial, meaning I had to do chip swapping on my newer usifac2 to update it with my older rev board and the pickit3.
First, make sure that usb2serial has proper drivers installed and works ok, many cheap cable adapters (having 2303AT/HX chip) are not working right with newer windows 10/11. Then, make sure that Tx, Rx cables are connected correctly, and finally don't forget that, after pressing " Check Device" or "Write Device" button on TBL utility, you should also press the reset button on USIfAC board too.

Quote from: Devlin on 22:02, 13 January 24I also found a really rather lovely utility on CPC-Power while "random surfing" - a little BASIC listing which lets you use strings on 464 as if it were a 6128 - may be useful to those who don't particularly want to switch out firmwares or can't for whatever reason. This is a great excuse to ask for an "auto-run" feature because i'd love to have this just run on start-up
https://www.cpc-power.com/index.php?page=detail&num=13720
That's really very nice and small utility for CPC464 owners! I'll see if i could integrate it in USifAC's rom too.  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 12:42, 14 January 24
Quote from: jesusdelmas on 23:25, 13 January 24Wow this is really cool, is there still time to buy one USifAC? I would be interrsted  :) :)
Give me a note to ikonsgr745@hotmail.com to arrange it.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 21:04, 14 January 24
I tested firmware 7b it with 2 CPCs that had issues before and if anything, it made things worse at least on the older USIFAC board (no DSK swap button:

During boot, the 464 is stuck after the initial boot message forever. If I press reset very, very often, in some rare case, I will get the USIFAC boot message, however USB is not available then. I need to type |usb (which disables USB) and then |usb which enables it again, and then the USB drive is avaible.

I have another Schneider 464 with tall keys which accepts the USIFAC immediately.

I have also tested with a more recent version of the board (with dsk swap button).

There it's a bit different: The CPC boots and hangs. Then I press reset and it restarts and recognizes the USIFAC. Then it performs immediately a reset and hangs again. But THEN if I press reset, it boots correctly with active USIFAC.


Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 21:26, 14 January 24
@eto, can you try this  (https://www.dropbox.com/scl/fi/yid58rlsyv366oq5a7erb/18f47q10_7c_.zip?rlkey=76taquijt0sx12qsl6xse5r8k&dl=0)firmware too?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 21:54, 14 January 24
Quote from: ikonsgr on 21:26, 14 January 24@eto, can you try this  (https://www.dropbox.com/scl/fi/yid58rlsyv366oq5a7erb/18f47q10_7c_.zip?rlkey=76taquijt0sx12qsl6xse5r8k&dl=0)firmware too?
newer board: no change

older board: definitely a change but a bit weird:


also I recognized that if I don't put a USB stick into the USB module, this procedure works:
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 22:09, 14 January 24
@eto, ok, can you try this one (https://www.dropbox.com/scl/fi/yid58rlsyv366oq5a7erb/18f47q10_7c_.zip?rlkey=76taquijt0sx12qsl6xse5r8k&dl=0) too? I've increased the time to wait after initial resetting usb host module, which might give better results.

update,i made a mistake, this (https://www.dropbox.com/scl/fi/38ih7xuw86jj0g6pj85qa/18f47q10_7c_.zip?rlkey=d10y7404u9ierycv0iaro8ad6&dl=0) is the correct file  ;D

And i suppose, these 2 CPC464 where having problems with USIfAC and with all previous firmware revisions,right?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 23:45, 14 January 24
tried again, and again sligfhtly different behavior:

1) turn on computer with USB drive connect
- first boot often works, message "USB device connected", CPC automatically resets
- CPC halts after boot message
- RESET will always end up with halting after boot message

2) turn on computer WITHOUT USB drive connected
- first boot often works, but sometimes 1 reset is required
- message "no USB device connected"
- insert USB drive
- after |USB the usb drive is available and can be accessed
- after a reset, it will always halts after the boot message, no difference if USB stick is inserted or not
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 11:35, 15 January 24
@eto, can you give me a screenshot of Amstrad upon boot freezing? Also is the freeze screen always the same, e.g. you get the same text (what ever this would be) on freezing boot screen?
 I think that the problem has to do with faulty (or maybe too slow) communication between specific usb sticks and the usb host module, that's why i need the screenshot to understand in which exact point this freeze happens, and possibly why.
In current code, i initially check response from usb host module using timers,and if i get a proper answer then i "remove" the timer (as it slows down communications quite a bit) and continue communication directly, meaning that after giving a command to usb host module, Amstrad will wait for a respond indefinitely, so if for some reason there is no respond from usb host module, it will freeze...
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: issalig on 12:21, 15 January 24
I have experienced problems in the past with MSXUSB that uses the same USB module. Problems only appeared with certain usb pens and I guess it was due to timings.

@eto, have you tried with different usb pens?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 14:08, 15 January 24
Ok, i've made rather extensive modifications in usb host module initialization code, so now, Amstrad should not freeze at all.
So, @eto and all others having freezing boot problems, please try this firmware (https://www.dropbox.com/scl/fi/38ih7xuw86jj0g6pj85qa/18f47q10_7c_.zip?rlkey=d10y7404u9ierycv0iaro8ad6&dl=0) and give us feedback!
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 14:18, 15 January 24
Quote from: ikonsgr on 11:35, 15 January 24can you give me a screenshot of Amstrad upon boot freezing? Also is the freeze screen always the same, e.g. you get the same text (what ever this would be) on freezing boot screen?
I made two short videos to show the full process.

Here's thetypical boot process, when a USB stick is inserted:

https://www.dropbox.com/scl/fi/8udk88717ge49j548kd7b/boot_with_USBstick.MOV?rlkey=vemsf7ycom18axw9bkpatxwcw&dl=0



This is the boot process, when there is no stick inserted. If insert it, after the successful boot process I can access the stick.

https://www.dropbox.com/scl/fi/8udk88717ge49j548kd7b/boot_with_USBstick.MOV?rlkey=vemsf7ycom18axw9bkpatxwcw&dl=0


Quote from: ikonsgr on 11:35, 15 January 24I think that the problem has to do with faulty (or maybe too slow) communication between specific usb sticks and the usb host module,

I tried 3 different USB sticks from 3 different vendors (Kingston, Sandisk, Intenso), absolutely no difference. I also tested their performance and with USB2.0 which is somewhere between 15 and 20MB/s (Intenso 15, Sandisk 20).

EDIT: test was still with the previous 7c firmware. The one from 10 minutes ago was not tested yet. Will do in a few minutes....
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 14:47, 15 January 24
Quote from: ikonsgr on 14:08, 15 January 24So, eto (https://www.cpcwiki.eu/forum/profile/?u=3625) and all others having freezing boot problems, please try this firmware (https://www.dropbox.com/scl/fi/38ih7xuw86jj0g6pj85qa/18f47q10_7c_.zip?rlkey=d10y7404u9ierycv0iaro8ad6&dl=0) and give us feedback!
We're getting closer...

With the more recent board revision it behaves like this:


However with the older board revision, the CPC always hangs.
Video: https://www.dropbox.com/scl/fi/znh4zaenzpk28yuzjumqu/IMG_4548.MOV?rlkey=tk8aryb743tuy7ocgnc5uk2rm&dl=0


Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: jesusdelmas on 17:24, 15 January 24
Quote from: ikonsgr on 12:42, 14 January 24
Quote from: jesusdelmas on 23:25, 13 January 24Wow this is really cool, is there still time to buy one USifAC? I would be interrsted  :) :)
Give me a note to ikonsgr745@hotmail.com to arrange it.
Done!  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 18:28, 15 January 24
@eto, ok did you also try to disable "auto usb" (give:OUT &FBD1,93 you can then give:OUT &FBD1,92 to reactivate it) and see what happens?
If Amstrad still hangs up, then most certainly the freezing is not caused by the usb host module initialization code...  ::)
Also, could you execute the small program below, and tell me what number you get for each of your USIfAC II board (older and newer):

10 OUT &FBD0,&57:OUT &FBD0,&AB:OUT &FBD0,1
20 IF INP(&FBD1)=255 THEN PRINT INP(&FBD0) ELSE 20
30 GOTO 10

This should give you the firmware revision of the usb host module CH376 chip. Numbers of less than 67 (mostly 66) tend to have more compatibility issues with usb sticks, and it's better  to use small usb sticks or format with FAT16 for maximum stability. For the last ~2 years,i test each module before mounting it, and if it has such older fw (e.g. 66 or less), i don't use it with the board.
But for early USIfAC boards that sold the 1st year (~until mid-late 2021) you might got a board with such an older module.
(Btw, for the first months of selling USIfAC boards, i didn't know there was an issue with CH376 module fw version, i thought that all modules had the same fw, but after i got some reports, i looked it up a bit,found there was a command that gives you the fw version, and from then, i started to check them)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 19:50, 15 January 24
Quote from: ikonsgr on 18:28, 15 January 24ok did you also try to disable "auto usb" (give:OUT &FBD1,93 you can then give:OUT &FBD1,92 to reactivate it) and see what happens?
no, I haven't tried that before. I just did and there is no change.

However, in very rare cases, the CPC boots. From about 20 RESETs one finally succeeded.

Quote from: ikonsgr on 18:28, 15 January 24Also, could you execute the small program below,
there is no output at all

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 20:06, 15 January 24
@eto, ok add this line to the program:
15 FOR I=0 TO 100:NEXT I

This should make it work.

Now,i've made more modifications to the usb initialize code, can you try this (https://www.dropbox.com/scl/fi/38ih7xuw86jj0g6pj85qa/18f47q10_7c_.zip?rlkey=d10y7404u9ierycv0iaro8ad6&dl=0) and give me the results? 
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 21:47, 15 January 24
Quote from: ikonsgr on 20:06, 15 January 24@eto, ok add this line to the program:
15 FOR I=0 TO 100:NEXT I

This should make it work.

Now,i've made more modifications to the usb initialize code, can you try this (https://www.dropbox.com/scl/fi/38ih7xuw86jj0g6pj85qa/18f47q10_7c_.zip?rlkey=d10y7404u9ierycv0iaro8ad6&dl=0) and give me the results? 

With the previous version, the for/next had no effect, but with this version, it now shows 66.

Behavior changed again (and I have the gut feeling we get closer...):

1) if auto usb is active, the CPC boots, then resets and freezes after the boot message. Further resets do not change this
2) if auto usb is not active, the CPC boots. Then I can enter |USB and can access the USB drive. If I do a reset, I am stuck again and the CPC freezes during boot. Reset has no effect, I have to turn it off.

UPDATE: also no change if the Stick is FAT16 formatted

Update 2: The behavior with the newer board is different. It boots, resets, then halts. But then, if I press reset, it boots properly and I can access the USB drive. Also further RESETS properly work.

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 23:23, 15 January 24
Quote from: eto on 21:47, 15 January 24With the previous version, the for/next had no effect, but with this version, it now shows 66.

Behavior changed again (and I have the gut feeling we get closer...):

1) if auto usb is active, the CPC boots, then resets and freezes after the boot message. Further resets do not change this
2) if auto usb is not active, the CPC boots. Then I can enter |USB and can access the USB drive. If I do a reset, I am stuck again and the CPC freezes during boot. Reset has no effect, I have to turn it off.

UPDATE: also no change if the Stick is FAT16 formatted

Update 2: The behavior with the newer board is different. It boots, resets, then halts. But then, if I press reset, it boots properly and I can access the USB drive. Also further RESETS properly work.


hmmm,so i suppose you confirm that the best behavior you got so far, is with the latest fw right? The newer board only needs one reset to work and the older works if you disable "auto usb", if i got it right.
Also, '66' means that your USIfAC has the older fw for the usb host module which might play a part to the hanging problem. Btw, does both of USIfAC boards has same '66' version of usb module?
And Perhaps @d_kef can give a try this fw (https://www.dropbox.com/scl/fi/38ih7xuw86jj0g6pj85qa/18f47q10_7c_.zip?rlkey=d10y7404u9ierycv0iaro8ad6&dl=0) with his "sticky" CPC 464 too?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 01:24, 16 January 24
Quote from: ikonsgr on 23:23, 15 January 24hmmm,so i suppose you confirm that the best behavior you got so far, is with the latest fw right?
yes

Quote from: ikonsgr on 23:23, 15 January 24The newer board only needs one reset to work and the older works if you disable "auto usb", if i got it right.
yes

Quote from: ikonsgr on 23:23, 15 January 24Btw, does both of USIfAC boards has same '66' version of usb module?
it has also 66


do you have a proper source where I can get the 67 version? This USB module seems to be available from China only and I would like to avoid to order a module with old firmware. I need to replace one module (of a third usifac) anyway as the USB module seems to be dead on this one. And then I can just order 3.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 10:20, 16 January 24
@eto, first MANY, MANY thanks for your help and support to improve USIfAC, especially with such difficult tech problems like this.
Now i can send you as many modules as you want, guarantee with newer firmwares too ;)
Just give me a note to ikonsgr745@hotmail.com to arrange it.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 11:20, 16 January 24
Ok,i think this time we might got it. @eto , @d_kef  and anyone else having boot problems with CPC464, try this firmware (https://www.dropbox.com/scl/fi/38ih7xuw86jj0g6pj85qa/18f47q10_7c_.zip?rlkey=d10y7404u9ierycv0iaro8ad6&dl=0)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: d_kef on 20:17, 16 January 24
Just tested it.
Sorry... no changes in the  behaviour.

d_kef
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 22:06, 16 January 24
Quote from: ikonsgr on 11:20, 16 January 24Ok,i think this time we might got it. @eto , @d_kef  and anyone else having boot problems with CPC464, try this firmware (https://www.dropbox.com/scl/fi/38ih7xuw86jj0g6pj85qa/18f47q10_7c_.zip?rlkey=d10y7404u9ierycv0iaro8ad6&dl=0)
Unfortunately there is no change compared to the previous version.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 22:38, 16 January 24
Quote from: eto on 22:06, 16 January 24Unfortunately there is no change compared to the previous version.
is it possible to make a small video of the booting process again? i want to see the exact point of freezing and what exactly is written in screen. with previous fw the freeze should be done after `BASIC 1.0` is typed on screen, now it should freeze before that, is that correct?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 22:42, 16 January 24
Quote from: d_kef on 20:17, 16 January 24Just tested it.
Sorry... no changes in the  behavior.
d_kef
can you remind me what exactly was that behavior? is at least the board usable, even if it needs a reset or two? also did you try to disable `auto usb` function (OUT &FBD1,93) and see if that helps?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 22:53, 16 January 24
Sure, I will do the video tomorrow evening.  
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 23:26, 17 January 24
Quote from: ikonsgr on 22:42, 16 January 24can you remind me what exactly was that behavior? is at least the board usable, even if it needs a reset or two? also did you try to disable `auto usb` function (OUT &FBD1,93) and see if that helps?

Auto USB on:

in short: CPC boots, USIFAC message is shown, CPC automatically resets, boots until "Locomotive Software ltd" is drawn - then freezes (before Basic 1.0 message)

video (auto USB on):
https://www.dropbox.com/scl/fi/3iqy2dp62z98dnh64f8ap/IMG_4555.MOV?rlkey=puqr37nhzyll6cf0w5xtp7w3h&dl=0
 
Auto USB off:
CPC boots, Usifac message is shown, I can access BASIC. Once I type |USB the USB stick content can be access. But as soon as I reset, I am stuck in the same loop as above.

video (auto USB off):
https://www.dropbox.com/scl/fi/iwo5ag2gjzmk042cfp66t/IMG_4557.MOV?rlkey=fms63gv1ey8ca27n4nodmomnx&dl=0

Quote from: ikonsgr on 22:38, 16 January 24with previous fw the freeze should be done after `BASIC 1.0` is typed on screen, now it should freeze before that, is that correct?

 no. it always was freezing before the BASIC 1.0 is drawn on screen.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Brocky on 03:18, 18 January 24
im seeing exactly the same as eto...

apart from one difference with my setup.. (with auto usb off)...
i type |usb and the stick is activated...
but if i type CAT ..like in eto's 2nd vid, then i lock up....
if i use |CAT it works as intended
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: d_kef on 06:51, 18 January 24
Quote from: Brocky on 03:18, 18 January 24im seeing exactly the same as eto...

apart from one difference with my setup.. (with auto usb off)...
i type |usb and the stick is activated...
but if i type CAT ..like in eto's 2nd vid, then i lock up....
if i use |CAT it works as intended
Exactly the same here.

d_kef
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 09:56, 18 January 24
Quote from: eto on 23:26, 17 January 24
Quote from: ikonsgr on 22:42, 16 January 24can you remind me what exactly was that behavior? is at least the board usable, even if it needs a reset or two? also did you try to disable `auto usb` function (OUT &FBD1,93) and see if that helps?

Auto USB on:

in short: CPC boots, USIFAC message is shown, CPC automatically resets, boots until "Locomotive Software ltd" is drawn - then freezes (before Basic 1.0 message)

video (auto USB on):
https://www.dropbox.com/scl/fi/3iqy2dp62z98dnh64f8ap/IMG_4555.MOV?rlkey=puqr37nhzyll6cf0w5xtp7w3h&dl=0
 
Auto USB off:
CPC boots, Usifac message is shown, I can access BASIC. Once I type |USB the USB stick content can be access. But as soon as I reset, I am stuck in the same loop as above.

video (auto USB off):
https://www.dropbox.com/scl/fi/iwo5ag2gjzmk042cfp66t/IMG_4557.MOV?rlkey=fms63gv1ey8ca27n4nodmomnx&dl=0

Quote from: ikonsgr on 22:38, 16 January 24with previous fw the freeze should be done after `BASIC 1.0` is typed on screen, now it should freeze before that, is that correct?

 no. it always was freezing before the BASIC 1.0 is drawn on screen.
These videos was using the previous firmware (before starting tests with the rev 7c)?
Because i thought that using the last 2 firmwares, CPC didn't freeze for ever upon resets, and it only needed one reset to work with "Auto usb".
Btw, the message you quoted was addressed to d_kef  :) , the previous msg was addressed to you: https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/usifac-iimake-your-pc-or-usb-stick-an-hdd-for-amstrad-access-dsk-and-many-more!/msg235100/#msg235100
where i asked for making a video using the latest fw to check if there were any difference (mainly with exact messages on screen) with the previous fw that, as you said, seemed to work the same way (and gave the best behavior too).
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 11:24, 18 January 24
Quote from: ikonsgr on 09:56, 18 January 24These videos was using the previous firmware (before starting tests with the rev 7c)?
no, this is the latest firmware you provided

Quote from: ikonsgr on 09:56, 18 January 24Because i thought that using the last 2 firmwares, CPC didn't freeze for ever upon resets, and it only needed one reset to work with "Auto usb".
it depends on the USIFAC. the more recent one was working, the older one was not. 


I'll do another video this evening with a clear information about if it's the older or the newer model. Sorry... yesterday was a bit stressful and I was not clear here. 
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 12:48, 18 January 24
Ok,i made another test fw (probably the last one), this should keep the FDC CLC (logic cell that controls the FDC emulation) always active.
As this was that improved the boot behavior in the first place, i would like to see if there is any change when this is always 'on' (even when Basic rom kicks in, after USIfAC's initialize). I've noticed that the reset upon cold boot is made AFTER "BASIC 1.0" is shown on screen, meaning that this reset is actually NOT caused by USIfAC firmware, but rather from Basic rom it self!
So @eto, if you can try this fw too (https://www.dropbox.com/scl/fi/spneryaydubcppqo8a84t/18f47q10_7c_clc5_always_on.zip?rlkey=g1my7qo2kkouftuzo0t28ebtl&dl=0) (marked 7d on boot msg),and tell me if you have any difference compared to the last fw (https://www.dropbox.com/scl/fi/38ih7xuw86jj0g6pj85qa/18f47q10_7c_.zip?rlkey=d10y7404u9ierycv0iaro8ad6&dl=0) that, as you said, didn't had any differences with previous fw

Quote from: eto on 11:24, 18 January 24It depends on the USIFAC. the more recent one was working, the older one was not.
Btw, when you say "older board" you mean the green one?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 14:10, 18 January 24
sure... will do hopefully later this evening. 

green = older one (without disk swap button)
white = newer one (with disk swap button)

I'll check with both version with 7c and then with 7d. 
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 17:47, 18 January 24
Quote from: eto on 14:10, 18 January 24sure... will do hopefully later this evening.

green = older one (without disk swap button)
white = newer one (with disk swap button)

I'll check with both version with 7c and then with 7d.
Well, since green board is now obsolete for years, and most of the boards sold (~85%-90%) are the white ones, i'm mostly interested for the newer white board  :)   
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 22:12, 18 January 24
Quote from: ikonsgr on 17:47, 18 January 24Well, since green board is now obsolete for years, and most of the boards sold (~85%-90%) are the white ones, i'm mostly interested for the newer white board  :)   
makes sense ... okay, so no more video of the green one ;-)

7c - USB on: https://www.dropbox.com/scl/fi/75xoi32fbzldj8yxt2js1/7c_USB_on.MOV?rlkey=x8ur4h6oyqzonvip9713px9aj&dl=0
 7c - USB off: https://www.dropbox.com/scl/fi/lh1q5pz9uuw9xdn99i4ke/7c_usb_off.MOV?rlkey=hoe9iofbod8acfrsq9kh2db6g&dl=0
7d - USB on: https://www.dropbox.com/scl/fi/wxh3d6z93kyrj8hzixeqk/7d_USB_on.MOV?rlkey=4x2nkq1jyfl01x0eme1zp58f1&dl=0
7d - USB off: https://www.dropbox.com/scl/fi/81k1cummkr15qpjd9mfvt/7d_USB_off.MOV?rlkey=4dbno4xzugztndz0uztwi2d9j&dl=0

There is no difference between 7c and 7d.

USB on:
after a manual reset, the USB stick can be accessed until the next full power circle (resets don't freeze)


USB off:
after |USB the USB stick can be accessed until the next full power circle (resets don't freeze)


Honestly I think that is good enough. It's just a single RESET that is required after the computer is turned on.


PS: Just for sake of completeness: there is also no change in behavior for the old board with 7d. It's just no usable with the 464.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 22:14, 18 January 24
and just out of curiosity: What's the difference between those 2 boards?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 19:02, 19 January 24
Quote from: eto on 22:14, 18 January 24and just out of curiosity: What's the difference between those 2 boards?
Apart from the addition of the dsk swap button, older boards used MCLR pin to "Hardware" reset PIC along with Amstrad, when reset button is pressed, but because this caused some problems (in some rare cases firmware was deleted), newer boards use "software" reset for PIC,  (MCLR-master clear- is disabled and there was also some rewiring along with the addition of an extra diode) and if i'm not mistaken, i never had a "deleted PIC" report again. Most probable this difference is what causes the "worst" behavior of the old board when flashed with newer firmwares designed to use "soft reset".
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 19:18, 19 January 24
Quote from: eto on 22:12, 18 January 24Honestly I think that is good enough. It's just a single RESET that is required after the computer is turned on.
Honestly, i totally agree  :) 
Pressing reset button once upon cold boot (and only when "auto usb" is active), is really not a big deal, and of course it's much better behavior than with previous firmware, which required unplug/plug usb stick or dual resets and repeat the process again, after every reset too, right?
Again, THANKS A LOT for your help in making USIfAC board better!  ;)
I will soon release a new "official" firmware update to include the booting improvements, and with the addition of the small utility that @Devlin noted here (https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/usifac-iimake-your-pc-or-usb-stick-an-hdd-for-amstrad-access-dsk-and-many-more!/msg235016/#msg235016) which i incorporated as a simple rsx commnand: |RSX , which i believe would be VERY helpful for all Amstrad CPC 464 owners with USIfAC II boards (that are not lazy enough to use file manager all the time...  :D )  , as it will save them from the Basic 1.0 tedious operation ,of passing strings to RSX commands (the all known, a$="string":|RSX_COMMAND,@a$, instead of giving a simple: |RSX_COMMAND,"string" like on Basic 1.1), and also save them of replacing CPC464 fw+basic roms just for that  :P   (i have a feeling that @Audronic will be particular happy with this :)  )
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 00:57, 20 January 24
Quote from: ikonsgr on 19:18, 19 January 24
Quote from: eto on 22:12, 18 January 24Honestly I think that is good enough. It's just a single RESET that is required after the computer is turned on.
Honestly, i totally agree  :) 
Pressing reset button once upon cold boot (and only when "auto usb" is active), is really not a big deal, and of course it's much better behavior than with previous firmware, which required unplug/plug usb stick or dual resets and repeat the process again, after every reset too, right?
Again, THANKS A LOT for your help in making USIfAC board better!  ;)
I will soon release a new "official" firmware update to include the booting improvements, and with the addition of the small utility that @Devlin noted here (https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/usifac-iimake-your-pc-or-usb-stick-an-hdd-for-amstrad-access-dsk-and-many-more!/msg235016/#msg235016) which i incorporated as a simple rsx commnand: |RSX , which i believe would be VERY helpful for all Amstrad CPC 464 owners with USIfAC II boards (that are not lazy enough to use file manager all the time...  :D )  , as it will save them from the Basic 1.0 tedious operation ,of passing strings to RSX commands (the all known, a$="string":|RSX_COMMAND,@a$, instead of giving a simple: |RSX_COMMAND,"string" like on Basic 1.1), and also save them of replacing CPC464 fw+basic roms just for that  :P  (i have a feeling that @Audronic will be particular happy with this :)  )
Can it have an autostart option too? It'd be nice to just have it active on start-up instead of having to run it every time.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: eto on 10:17, 20 January 24
Quote from: Devlin on 00:57, 20 January 24Can it have an autostart option too? It'd be nice to just have it active on start-up instead of having to run it every time.
Only if it can be (de)selected by a hardware switch. I do not want the USIFAC to automatically always start the same program. 
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 13:00, 20 January 24
Quote from: Devlin on 00:57, 20 January 24Can it have an autostart option too? It'd be nice to just have it active on start-up instead of having to run it every time.
I'm afraid this can't be done, because this routine uses a rare form of basic CALL command with extra arguments (instead of a simple CALL address that executes assembly code from basic, starting from that address, it has an extra address for arguments, e.g. CALL adr,adr2, btw this was the 1st time i ever saw a CALL used that way...), so it can only executed using Basic CALL command. This means that it needs Basic rom to be initialized and active.
 Unfortunately Amstrad performs initialization of Roms "backwards", e.g. it starts from highest upper rom and goes down to lowest rom which usually is Basic (placed in upper rom 0). So by the time USifAC's init code is executed, there would be no Basic present to execute routine's  Basic code. The only alternative would be to "extract" the asm code and executed directly (i've already done that with other routines),but as i already explained, this can't be done, due to the exta arguments needed, and i really don't have a clue how CALL command manage this...
So, i'm afraid the only option is to have the routine as a simple RSX command, but in the end, i don't think it's that much trouble to give a simple: |RSX or... perhaps...to make things even faster, should i use a single letter RSX... like: |X  , what you think?  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: andycadley on 13:33, 20 January 24
Quote from: ikonsgr on 13:00, 20 January 24as i already explained, this can't be done, due to the exta arguments needed, and i really don't have a clue how CALL command manage this...

It's essentially the same as an RSX. That is the A register holds the number of parameters and IX points to them. Other than that it's a straightforward CALL.

https://cpcrulez.fr/coding_RSX-anatomy_of_an_RSX-part_1_AA.htm

Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Prodatron on 15:40, 20 January 24
CALL and RSX is like IP numbers and domain names :D
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 23:47, 20 January 24
Quote from: andycadley on 13:33, 20 January 24It's essentially the same as an RSX. That is the A register holds the number of parameters and IX points to them. Other than that it's a straightforward CALL.

https://cpcrulez.fr/coding_RSX-anatomy_of_an_RSX-part_1_AA.htm
hmmm, so you think that if i set register a=1 and ix=the specific address from the CALL command in Basic program,and then execute the asm code it will work? Although i think these have a meaning only for the code of the Basic CALL command, so without Basic the asm code can't be executed correctly...
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: andycadley on 09:53, 21 January 24
Setting A to 1 and IX to point to memory containing "addr2" (assuming it's an integer parameter) - not setting IX to addr2 -. That will work, yes. That's all BASIC is doing with parameters behind the scenes. It's just a calling convention at the end of the day.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 11:55, 21 January 24
Quote from: andycadley on 09:53, 21 January 24Setting A to 1 and IX to point to memory containing "addr2" (assuming it's an integer parameter) - not setting IX to addr2 -. That will work, yes. That's all BASIC is doing with parameters behind the scenes. It's just a calling convention at the end of the day.
Yes, but here we are talking of executing correctly the asm code that normally is given through a Basic listing and a CALL command in the end, WITHOUT  BASIC interpreter, as this exactly is the case of "auto loading" the asm routine upon cold boot of Amstrad CPC!
As USIfAC's board Rom initialization would be always commenced BEFORE Basic rom (which by default is at upper slot 0), there would be no Basic available, so we examine the possibility of executing such "asm through Basic listing" code directly.
Now that i remembered, the games included in USIfAC board, are similar cases of having a small Basic loader, that places the asm code in ram, and then gives a final basic CALL command to execute. When i tried to "manually" copy the asm code to ram and then use a simple jp addr to start execution (in place of: CALL addr basic command used in Basic loader),it didn't work! I finally made it work only when i created a small basic program with only one line: 10 CALL addr, and run it, only then game was executed correctly.
 I also took a look at the CALL code of the disassemble basic 1.1 rom (https://cpctech.cpc-live.com/docs/basic.asm) (unfortunately i couldn't find Basic 1.0 in disassemble form):
;; CALL
f25c cdf5ce    call    $cef5 ; get address
f25f 0eff      ld      c,$ff
;; store address of function
f261 ed5355ae  ld      ($ae55),de
;; store rom select
f265 79        ld      a,c
f266 3257ae    ld      ($ae57),a
f269 ed735aae  ld      ($ae5a),sp
f26d 0620      ld      b,$20 ; max 32 parameters
f26f cd41de    call    $de41
f272 3008      jr      nc,$f27c         ; (+$08)
f274 c5        push    bc
f275 cde3ce    call    $cee3
f278 c1        pop     bc
f279 d5        push    de ; push parameter onto stack
f27a 10f3      djnz    $f26f            ; (-$0d)
f27c cd37de    call    $de37
f27f 2258ae    ld      ($ae58),hl
f282 3e20      ld      a,$20 ; max 32 parameters
;; B = $20-number of parameters specified
f284 90        sub     b
;; A = number of parameters
f285 dd210000  ld      ix,$0000
f289 dd39      add     ix,sp ; IX points to parameters on stack

;; IX = points to parameters
;; A = number of parameters
;; execute function
f28b df        rst     $18
defw &ae55
f28e ed7b5aae  ld      sp,($ae5a)
f292 cdccfb    call    $fbcc
f295 2a58ae    ld      hl,($ae58)
f298 c9        ret     

f299 3e0d      ld      a,$0d
f29b 1803      jr      $f2a0            ; (+$03)

 It has quite a lot of calls all over the rom, so i doubt it would be easy to find out what exactly is doing and try to "emulate" it "By hand", not to mention the fact that as this routine alters the behavior of Basic interpreter, it should require to have Basic rom initialized and be active, BEFORE executing the routine, which of course is impossible to do it upon cold boot...
And in the end, i doubt it's worth all this trouble, just to save giving a simple:|X whenever you want to avoid the tiresome way of passing strings to Basic commands of Basic 1.0... ::)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 13:57, 23 January 24
FIRMWARE UPDATE (rev.7c) (https://www.dropbox.com/scl/fi/chhsp1f93kud561q2ytqa/18f47q10_7c_.zip?rlkey=1la2qi917bz4vqzfl7z0uzugh&dl=0):

- New initialization Code of USIfAC II rom, offering better behavior ragarding freezing upon cold boot with some CPC464

- New RSX COMMAND: |RX installs a small routine (https://www.cpc-power.com/index.php?page=detail&num=13720) that allows an easier way of using string arguments with Basic & RSX Commands, like with CPC 6128 Basic 1.1,e.g. instead of giving: a$"string":Command,@a$ you can now give directly: Command,"string".FOR CPC464 ONLY!

I expect this new rsx command to be a very nice addition for all CPC464 owners that prefer to use commands (now it would be much easier to use arguments with |CAT, |CD, |SNA etc) and it would eliminate the need of replacing firmware+Basic roms, just for having this ability  ;)
Btw, @Devlin ,you were right about the previous rev7b, it indeed had a problem with dsk image access on CPC6128,but the new rev7c should work fine.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 18:03, 23 January 24
Quote from: ikonsgr on 13:57, 23 January 24FIRMWARE UPDATE (rev.7c) (https://www.dropbox.com/scl/fi/chhsp1f93kud561q2ytqa/18f47q10_7c_.zip?rlkey=1la2qi917bz4vqzfl7z0uzugh&dl=0):

- New initialization Code of USIfAC II rom, offering better behavior ragarding freezing upon cold boot with some CPC464

- New RSX COMMAND: |RX installs a small routine (https://www.cpc-power.com/index.php?page=detail&num=13720) that allows an easier way of using string arguments with Basic & RSX Commands, like with CPC 6128 Basic 1.1,e.g. instead of giving: a$"string":Command,@a$ you can now give directly: Command,"string".FOR CPC464 ONLY!

I expect this new rsx command to be a very nice addition for all CPC464 owners that prefer to use commands (now it would be much easier to use arguments with |CAT, |CD, |SNA etc) and it would eliminate the need of replacing firmware+Basic roms, just for having this ability  ;)
Btw, @Devlin ,you were right about the previous rev7b, it indeed had a problem with dsk image access on CPC6128,but the new rev7c should work fine.

The RSX command |RX doesn't work - to get the BASIC 1.0 string patch working, one has to use |X (i prefer this, actually)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 18:19, 23 January 24
Quote from: Devlin on 18:03, 23 January 24The RSX command |RX doesn't work - to get the BASIC 1.0 string patch working, one has to use |X (i prefer this, actually)
Yeap, "slip of the keyboard" :) , rsx command is |X, one letter only to get it as fast as possible ;)
Btw, initially i had the whole basic listing of the routine patched into memory and executed by Basic, but this took ~1sec. So,i removed the assembly code from the Basic listing, and instead, used a simple ldir to copy it directly to Ram from USIfAC's Firmware, thus reducing Basic progran to only a few pokes and a call, resulting in instant execution of the rsx command (we are very impatient people nowadays indeed... :P  )
And, @Devlin , i suppose now dsk access works as it should on CPC6128, along with non "eternal freeze" upon booting your CPC464, right? (well the last one,at least... "as good as it gets"  ;D  )
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Devlin on 20:26, 23 January 24
Quote from: ikonsgr on 18:19, 23 January 24
Quote from: Devlin on 18:03, 23 January 24The RSX command |RX doesn't work - to get the BASIC 1.0 string patch working, one has to use |X (i prefer this, actually)
Yeap, "slip of the keyboard" :) , rsx command is |X, one letter only to get it as fast as possible ;)
Btw, initially i had the whole basic listing of the routine patched into memory and executed by Basic, but this took ~1sec. So,i removed the assembly code from the Basic listing, and instead, used a simple ldir to copy it directly to Ram from USIfAC's Firmware, thus reducing Basic progran to only a few pokes and a call, resulting in instant execution of the rsx command (we are very impatient people nowadays indeed... :P  )
And, @Devlin , i suppose now dsk access works as it should on CPC6128, along with non "eternal freeze" upon booting your CPC464, right? (well the last one,at least... "as good as it gets"  ;D  )
All working great, now I've done a wee bit of soldering as it turns out that my serial programmer bricked itself because of spiked drivers to brick clones (boo, thank the gods it was cheap) so I had to populate the ICSP header on my second board to use the pickit3 and didn't fancy chip swapping again, but it's working great on both the earlier revision "short" white board, and the newer "long" white board one.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: GUNHED on 15:48, 24 January 24
The RSX command !X is part of some DOS (f.e. X-DDOS) and it's purpose it to exchange drive A and B. Maybe it would be better not to use !X a 2nd time.  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 18:33, 25 January 24
Quote from: GUNHED on 15:48, 24 January 24The RSX command !X is part of some DOS (f.e. X-DDOS) and it's purpose it to exchange drive A and B. Maybe it would be better not to use !X a 2nd time.  :)
Ok, then maybe i will change it to |R then?  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: NigeNigeNige on 16:47, 29 January 24
Quote from: ikonsgr on 13:57, 23 January 24FIRMWARE UPDATE (rev.7c) (https://www.dropbox.com/scl/fi/chhsp1f93kud561q2ytqa/18f47q10_7c_.zip?rlkey=1la2qi917bz4vqzfl7z0uzugh&dl=0):

- New initialization Code of USIfAC II rom, offering better behavior ragarding freezing upon cold boot with some CPC464

- New RSX COMMAND: |RX installs a small routine (https://www.cpc-power.com/index.php?page=detail&num=13720) that allows an easier way of using string arguments with Basic & RSX Commands, like with CPC 6128 Basic 1.1,e.g. instead of giving: a$"string":Command,@a$ you can now give directly: Command,"string".FOR CPC464 ONLY!

I expect this new rsx command to be a very nice addition for all CPC464 owners that prefer to use commands (now it would be much easier to use arguments with |CAT, |CD, |SNA etc) and it would eliminate the need of replacing firmware+Basic roms, just for having this ability  ;)
Btw, @Devlin ,you were right about the previous rev7b, it indeed had a problem with dsk image access on CPC6128,but the new rev7c should work fine.

First of all thank you for sticking with this and trying to get the interface functional for everyone.
I have just upgraded my white USFfAC II to 7c. The behaviour is much better than before - the same as @eto described, with a USB stick inserted I only need to press reset once for the board to load with a USB stick inserted, which is great!
Unfortunately when used with your 512k RAM board, this means I can't switch to "6128 mode" - once 6128.BAS has loaded, the machine resets - which then causes it to be stuck at the "and Locomotive Software Limited" prompt. So I don't think I can use any of the features of the board apart from the extra memory.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 19:09, 29 January 24
Quote from: NigeNigeNige on 16:47, 29 January 24First of all thank you for sticking with this and trying to get the interface functional for everyone.
I have just upgraded my white USFfAC II to 7c. The behaviour is much better than before - the same as @eto described, with a USB stick inserted I only need to press reset once for the board to load with a USB stick inserted, which is great!
Unfortunately when used with your 512k RAM board, this means I can't switch to "6128 mode" - once 6128.BAS has loaded, the machine resets - which then causes it to be stuck at the "and Locomotive Software Limited" prompt. So I don't think I can use any of the features of the board apart from the extra memory.
Did you try to press reset again and see if it continues? Btw, was USIfAC II functional with previous firmware, or you needed more resets/plug/unplug usb stick like with @eto cpc?
In any case, if you have a CPC464 i think that the best option is to have a ULIfAC board, which combines functionality of USIfAC II along with a RAM/ROM board and also has extra RSX commands and features (like the 256K/16XROM dual mode, instead of 256k/2XROM dual mode of the stand alone 512K RAM/ROM board)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: NigeNigeNige on 12:27, 30 January 24
Quote from: ikonsgr on 19:09, 29 January 24In any case, if you have a CPC464 i think that the best option is to have a ULIfAC board, which combines functionality of USIfAC II along with a RAM/ROM board and also has extra RSX commands and features (like the 256K/16XROM dual mode, instead of 256k/2XROM dual mode of the stand alone 512K RAM/ROM board)
Previous firmware versions acted exactly like @eto described. This one is definitely an improvement.
After running 6128.BAS, when it locks up, if I press reset the computer goes back to normal, but is still in 464 mode. 
On the thread for the ROM/RAM board, I noticed there is a new version of ROM.BIN. Installing that means that I get "Command not found" when running 6128.BAS. This happens when the program hits the |SW line. Which is interesting, because |SW does work on a fresh boot.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 18:18, 30 January 24
Quote from: NigeNigeNige on 12:27, 30 January 24Previous firmware versions acted exactly like @eto described. This one is definitely an improvement.
After running 6128.BAS, when it locks up, if I press reset the computer goes back to normal, but is still in 464 mode.
On the thread for the ROM/RAM board, I noticed there is a new version of ROM.BIN. Installing that means that I get "Command not found" when running 6128.BAS. This happens when the program hits the |SW line. Which is interesting, because |SW does work on a fresh boot.
Yes, with new firmware, you should use this new version of ROM.BIN file i mention here (https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/new-multi-purpose-board512k-ram-expansion32x-rom-board256k-ram2x-rom-board/msg233158/#msg233158)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 10:09, 31 January 24
@NigeNigeNige , i've uploaded an update of rom.bin file (https://www.dropbox.com/scl/fi/7pamv46i03lj1udqci57a/ROM_binary_for_rev_7c.zip?rlkey=235jlkvll0klxor3wxhu6fnel&dl=0) (for ram/rom boards) for the new rev.7c firmware
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: NigeNigeNige on 11:11, 31 January 24
Quote from: ikonsgr on 10:09, 31 January 24@NigeNigeNige , i've uploaded an update of rom.bin file (https://www.dropbox.com/scl/fi/7pamv46i03lj1udqci57a/ROM_binary_for_rev_7c.zip?rlkey=235jlkvll0klxor3wxhu6fnel&dl=0) (for ram/rom boards) for the new rev.7c firmware
Thank you, that works perfectly! 
:D
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Snocksman on 16:37, 20 February 24
Hi !

I´m testing around with my CPC464 and my UsifacII a bit at the moment and found here that there are several new firmware Versions for the UsifacII (I´m still on 6f)... So I want to Update the PIC, but don´t want to buy the next programming device (pickit3) if it´s not really necessary to do so... Is there a way to programm the PIC with one of the devices i have ?

- TL866II Plus
- ST-Link V2
- FT232H
- Arduino MEGA 2560
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: issalig on 14:01, 26 February 24
AFAIK, the last fw versions support updates without having a programmer but you need to have one of the latest versions :)

If you have an Arduino you me take a look at https://www.instructables.com/Simple-Pic-Programmer-for-68k-Mbc-and-Others/
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: hsimpson on 00:26, 27 February 24
@ikonsgr

I am interested in the unit. I also sent an email.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 09:54, 27 February 24
Quote from: Snocksman on 16:37, 20 February 24Hi !

I´m testing around with my CPC464 and my UsifacII a bit at the moment and found here that there are several new firmware Versions for the UsifacII (I´m still on 6f)... So I want to Update the PIC, but don´t want to buy the next programming device (pickit3) if it´s not really necessary to do so... Is there a way to programm the PIC with one of the devices i have ?

- TL866II Plus
- ST-Link V2
- FT232H
- Arduino MEGA 2560
TL866II plus, doesn't support 18F47Q10 i know for sure as i also have this programer. For the others, i don't know, although most probable they don't support the specific PIC MCU either. If you have older fw that don't have the bootloader for easy programming, the cheapest and easiest alternative of getting a PICKIT 3 programmer, is to send you a replacement PIC MCU flashed with the latest fw.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Snocksman on 15:35, 27 February 24
Quote from: issalig on 14:01, 26 February 24AFAIK, the last fw versions support updates without having a programmer but you need to have one of the latest versions :)

If you have an Arduino you me take a look at https://www.instructables.com/Simple-Pic-Programmer-for-68k-Mbc-and-Others/
I'm still in Firmware Version 6f.

I allready looked at that Arduino Project... It seems that the PIC18F47Q10 ist not supported.


I wrote a mail to the makers of the TL866II+ programmer, If it would be possible to add support for the 18F47Q10, but got no answer...

But i got a used PicKit3 from eBay for 10€. Should be delivered in the next days.
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: Snocksman on 07:17, 05 March 24
I got my pickit3 yesterday and programmed the Pic successfully with V.7c. It runs much better with my cpc464 than the previous installed V.6f.  8)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 13:22, 11 March 24
Quote from: Snocksman on 07:17, 05 March 24I got my pickit3 yesterday and programmed the Pic successfully with V.7c. It runs much better with my cpc464 than the previous installed V.6f.  8)
Great! Thanks for confirming that the new board's boot code works better with the "sticky" CPC464's!
 Did you try the |X command too? Since i add it, i use it all the time with my CPC464,it surely gives you the illusion of having a CPC6128  :)
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: WayneBushby on 08:00, 18 March 24
@ikonsgr 

I am interested in 1 unit for my CPC464.  How do I go about ordering one and how much does it cost ?
Title: Re: USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more!
Post by: ikonsgr on 10:04, 18 March 24
Quote from: WayneBushby on 08:00, 18 March 24@ikonsgr

I am interested in 1 unit for my CPC464.  How do I go about ordering one and how much does it cost ?

Please contact to: ikonsgr745@hotmail.com to arrange.
Powered by SMFPacks Menu Editor Mod