Hi every one!
This thread is created to dealt with technical problems or issues anyone might have, with the USIfAC II board.
That way, it will be much faster & easier to get help & support by me, or anyone in the community.
It will also help to keep the main thread "clean", containing only useful informations and updates for USIfAC II board.
And for start, here are a couple of important references (based on the majority of reporting problems):
- CLEAN THOROUHGLY Amstrad CPC expansion connector before plugging the board! From my long experience, many times, issues are related to dirt/oxidized edge connector!
- Amstrad PLUS is not OFFICIALLY SUPPORTED, as i don't own a PLUS machine, thus board is never tested on PLUS machines by me! However, there are many other people, who tried the board with Amstrad PLUS, and they claim that for the most part, is functioning ok , e.g. you will be able to load games from files or dsk images. So any questions/issues regarding PLUS machines they can only be supported by the community.
- If you boot Amstrad and you get a black screen,try to press pause button, if it's active, then Amstrad will freeze upon booting!
- If you don't get board's boot message "USIfAC II Enhanced" and board doesn't seem to respond, try giving OUT &FBD2,5, this will reset Board's rom number to default '5' and in most cases, resolve the problem
- Finally maybe the BEST way to avoid issues, is the friendly advice given by Gunhed here: "Get a proper working CPC - and best: get a proper working CPC6128." ;)
Hello ikonsgr,
Many thanks for this USIfAC II interface: it's fabulous !! :)
There are so many possibilities.
A little advice for those like me who use a 512K ROM extension "FlashGordon" on a Mother X4 board.
I noticed a few RSX command conflicts that no longer worked on USIfAC II.
After various tests and with help of ikonsgr : the solution was to relocate USIfAC II rom to another location than the default one (slot 5).
To do this : use the OUT &FBD2,x command, where x is the slot number. Then do a reset afterwards.
After testing all possible slots between 1 and 15, the only one that works perfectly is slot 3.
Since then, no more worries, I have retrieved all the functions of USIfAC II !
Shouldn't that be a personal thing? Depending what you have loaded into the FlashGordeon.
I 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. :)
Interesting: How can the ROM number have an effect on the compatibility, if there is no ROM number collision?
Is there a difference if the USIFAC physically before or after the Flash Gordon in the MX4?
Quote from: eto on 10:26, 06 July 22Interesting: How can the ROM number have an effect on the compatibility, if there is no ROM number collision?
I guess when you write a rsx command the system searches the command in the ROMs in a specific order, and when it finds out, it stops
Quote from: Fran123 on 10:50, 06 July 22Quote from: eto on 10:26, 06 July 22Interesting: How can the ROM number have an effect on the compatibility, if there is no ROM number collision?
I guess when you write a rsx command the system searches the command in the ROMs in a specific order, and when it finds out, it stops
That is true, but I understood that there is no other ROM present, the FlashGordon is just physically present.
Quote from: etoIs there a difference if the USIFAC physically before or after the Flash Gordon in the MX4?
On the MX4, the USIfAC is connected in the 1st position physically.
I tried plugging the FlashGordon into positions 2, 3 and 4 and the problem persisted.
But since, everything is resolved with relocation of the USIfAC in rom slot 3.
Quote from: etoThat is true, but I understood that there is no other ROM present, the FlashGordon is just physically present.
That's absolutely correct! You understood well.
The problem was permanent, even with a FlashGordon empty of any rom.
does this interface work with the Amstrad CPC plus line?
Quote from: XLV2K on 10:00, 28 July 22does this interface work with the Amstrad CPC plus line?
Work great on my 464+ !!
Usifac II with CPC 6128 plus not work, at least to me.
Quote from: XeNoMoRPH on 12:02, 29 July 22Usifac II with CPC 6128 plus not work, at least to me.
Works for me, but only if I use the original Basic/Burning Rubber cart, will not work with a C4CPC or even just an EEPROM cart with NoACID. I expect NoACID makes some timings more marginal and the usifac is a bit lax with this (complete guess based on a bunch of my and others' testing)
I want to say thank you for John for developing and making the ULIfAC and the previous USIfAC II cards.
I have an Amstrad CPC 6128 plus machine.
If you are interested to the compatibility tests, read the following.
So I've tested the new ULIfAC card with my CPC+ I attached some photos, videos of the results.
As summarization of the tests I can say ULIfAC is better than USIfAC II + 512k mem. board were from CPC+ view, but its still not perfect and has some issues.. see below.
Detection of the ULIfAC card: ok
https://drive.google.com/file/d/1j4EnvRywleunb5iV9_dn2FENhNc_rrEf/view
Diagnostic with DIAG: ok
https://drive.google.com/file/d/1SONj37_JaqEimijMCvOYiZX2v_vjcrHZ/view
https://drive.google.com/file/d/1p3i4jmjozVExQFWcKoMdoTaItQzAWIC4/view
https://drive.google.com/file/d/104xOf7eIs6B5yryOJFc6fMu-j4wMyL8A/view
SNA loading: ok
BAS loading: ok
DSK: 80-90% of the games can be loaded (better than with USIfAC II)
Some DSK demos/games which had problems with previous 512k mem expander are problematic here also, but in a different way) - e.g. "SWIV" and "James.DSK" restarting the machine, "Blakhole" (freezing the machine), "Amazing" demo, "Debris" demo, and Night demo (BAS!) and other CPC+ demos are producing graphical issues to the screen (seems to be some clock, sync problem).
These are also problematic when loading the DSKs from Gotek drive. When the previous mem. 512k expander or the ULIfAC is disconnected, they are working without any problems. (the mem. expansion causes these problems somehow).
from ULIfAC: https://drive.google.com/file/d/1HOT8HSHVO9rSXyumzUJYphXKpsgjOkSl/view
from Gotek: https://drive.google.com/file/d/1_oRnvghVojU0_PwdeDOp5uARj3GuxNgz/view
Question: What can cause this by the mem. expander of the card?
All RSX commands are working except the following problematics:
|PARA: works only in 6128 mode. In normal mode will be hanging/reset sequence. Strange.
https://drive.google.com/file/d/1ytL4bAAPyu42igtF2O1rq4h2nWL1Do_P/view
https://drive.google.com/file/d/1UaQNV4zEnglPZH_5v_lh8F_AMCLrnbh1/view
|FM and |FSM cannot be used in 6128 mode (256k RAM + 16x ROM), because DSK selection stops with memory full in 100 failure.
https://drive.google.com/file/d/1fDvzbeqaGYhNbbbnVfF7oJttttNSbbYA/view
Question: What can cause this?
|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.
Most of the ROM files are freezing the machine when using the |MROM command.
https://drive.google.com/file/d/1gxAJIWLqdy62_ZCxghmNv8IUZd1KF_ps/view
https://drive.google.com/file/d/1j7YtQejMVCm1dPiJpISDKAPhIArWgxT2/view
https://drive.google.com/file/d/1QUeffEyGG_cShM8sWmQ5hTQZ9FyRcZy3/view
Question: If you could successfully load and use ROM files, pls. write which ROM files and how you've started them. Thanks!
|464 mode is completely freezing the machine with an empty screen (its not a problem, but it worked on USIfAC II).
Hardware reset (external custom reset on my mainboard) in normal mode (512k RAM mode): not working properly – after DSK loading and using RUN and after the game pushing the reset button - it freezes the cpc+, often graphical characters are appearing, system hangs.
https://drive.google.com/file/d/1YFAUzgdxXtKH6HMPmLWakx9l-HUxIFkm/view
https://drive.google.com/file/d/1WO9meR625bWKI-hrSy94wfyzfkfxjNts/view
https://drive.google.com/file/d/1q5kfFFcpHn7gnM4yGYW7NnnrnEnML0Ru/view
Question: Do you also having this issue on non-plus machines?
Reset button on ULIfAC not works after loading any DSK image and running.
https://drive.google.com/file/d/1cKxIdwaBNVrpbarh0G8CJtsytby3rs-u/view
https://drive.google.com/file/d/1BY-6hQvga9tQQch92yL--hTEbw1IuOYg/view
Question: Do you also having this issue on non-plus machines?
Reset button on ULIfAC works fine when using Gotek (when the ULIfAC is connected, but DSK loaded from Gotek).
Symbos 3.1: Compatible. Now 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
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
Question: What can be this problem?
Symbos 3.1 works only in |6128 (256k RAM + 16x ROM mode). Its great but only 256k RAM available if I load the Symbos from ULIfAC:
https://drive.google.com/file/d/1_6K08MXavB9ubcyVOWviwh0HomVGqy99/view
Gotek compatibility: perfect, from GOTEK DSK loading you can use the RAM expansion in SymbOS even the 320k memory or the 576k memory as total. Great!
https://drive.google.com/file/d/1EYqMzbXdo56ig04NWqo4GoeEvILGQMXy/view
https://drive.google.com/file/d/19fTY3dgAZHJYMGrUDV14JFeaapNAoS9l/view
Thanks for reading.
Quote from: leexus on 15:14, 03 February 23If you are interested to the compatibility tests, read the following.
So I've tested the new ULIfAC card with my CPC+ I attached some photos, videos of the results.
Do you have a custom cartridge with NoAcid patch? I recognized that the U
sifac II and those kind of cartridges don't properly work together. I wonder if that's the same with the Ulifac.
Quote from: eto on 17:33, 03 February 23Quote from: leexus on 15:14, 03 February 23If you are interested to the compatibility tests, read the following.
So I've tested the new ULIfAC card with my CPC+ I attached some photos, videos of the results.
Do you have a custom cartridge with NoAcid patch? I recognized that the Usifac II and those kind of cartridges don't properly work together. I wonder if that's the same with the Ulifac.
I had until now USIfAC II board and the 512kb Ram expansion & 32x Rom board - all the two from John. I used them together before.
But now I used only the new ULIfAC board of John.
If you see the photos, videos it will be unmistakable..
CPC+ software that has issues with a memory expansion is probably because most memory expansions aren't properly compatible with the way the ASIC pages into memory address space. Software which accesses the ASIC registers while expansion RAM is in the #4000-#7fff range can result in memory corruption in those cases.
This is because, when the ASIC is paged in, they should ignore writes to RAM but doing that means the hardware needs to be aware of how the ASIC unlock sequence works and the current status of RMR2 (i.e. has RAM been paged out at #4000 to page the ASIC registers in). Very few memory expansions take notice of this, the Gemini RAM expansion does and internal memory expansions to add 64K to a 464+ will (the banked memory in a 6128+ obviously also works correctly).
Quote from: leexus on 18:03, 03 February 23I had until now USIfAC II board and the 512kb Ram expansion & 32x Rom board - all the two from John. I used them together before.
But now I used only the new ULIfAC board of John.
Sorry, I might have been unclear:
With the Usifac II attached to a Plus, where the Plus has a Custom cartridge (with Eproms and NoAcid-chip) inserted instead of the original one (Basic + Burning Rubber), the Plus will hang during boot or when starting a DSK from the Usifac.
Quote from: eto on 18:32, 03 February 23Quote from: leexus on 18:03, 03 February 23I had until now USIfAC II board and the 512kb Ram expansion & 32x Rom board - all the two from John. I used them together before.
But now I used only the new ULIfAC board of John.
Sorry, I might have been unclear:
With the Usifac II attached to a Plus, where the Plus has a Custom cartridge (with Eproms and NoAcid-chip) inserted instead of the original one (Basic + Burning Rubber), the Plus will hang during boot or when starting a DSK from the Usifac.
I use the original, factory default Burnin Rubber CPC+/GX4000 cartridge.
Just some DSK images are hanging, as I wrote they are working mostly (about 80-90 percentage of them).
@ leexus, Thanks for the detailed presentation of ULIfAC on PLUS models. I'm glad that in most part, it seems to work ok (even more compatible than USIfAC II). But i'm afraid that all the problems you describe does not exist on Amstrad CPC models (6128,464) and since i don't have a PLUS model i can't investigate further.
@ 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 ;)
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.
Just to note, this is about hardware issues, all the rest belong to the original thread, correct?
Quote from: Gryzor on 11:54, 17 February 23Just to note, this is about hardware issues, all the rest belong to the original thread, correct?
Yeap, this is only for hardware related problems, for software it will remain on the main thread ;)
Out of curiosity: Remembering the awesome USIfAC (the first one!) it had the lower bit from the lower nibble decoded. I still use them and they work very well btw.
Now, my question: Which bits of the USIfAC II are decoded? (It must be more that one inside the 16 bit I/O address). Please let us know. :) :) :)
Quote from: GUNHED on 17:05, 20 February 23Out of curiosity: Remembering the awesome USIfAC (the first one!) it had the lower bit from the lower nibble decoded. I still use them and they work very well btw.
Now, my question: Which bits of the USIfAC II are decoded? (It must be more that one inside the 16 bit I/O address). Please let us know. :) :) :)
The address bits i'm using for decoding on USIfAC II are:
A13 for decoding OUT &DF00,X (A13=0 set rom to be used)
A5 & A10 for USIfAC II board (A5=0 & A10=0 expansion peripheral + serial port)
A14 for activate rom read from board's rom emulation (romen=0 & A14=1)
A7 & A10 for FDC emulation (A7=0 & A10=0)
All address decoding information used, are taken from here (http://cpctech.cpc-live.com/docs/iopord.html). (I've checked the code again and found out that i'm actually using the proper bit A7=0 to enable FDC emualtion, so everything is done properly after all :-) )
Thanks, and b3 to b0 are used for selection of internal registers? Right?
Quote from: GUNHED on 17:46, 20 February 23Thanks, and b3 to b0 are used for selection of internal registers? Right?
Actually is b8=1 (b8=0 is for motor control and it's ignored), and if b0=0 you read main status register, if b0=1 then you read/write data register
Thanks, I asked because I had this information about reading:
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)
I hope I am on the correct thread this time.
Recently received the new board and start learning its functions!!! :D
I printed the case as described in the relevant topic USIfAC II:Convert a PC or USB stick to Amstrad HDD,access dsk's,and many more! (cpcwiki.eu) from the thingiverse repository (https://www.thingiverse.com/thing:4974135) board doesn't seem to exactly fit :o
Specifically I had to do some filing in one corner (see picture attached red circle) for the PCB to sit flat inside the case.
Did you have face sth similar?
@mdal, everything about 3d cases is created by "3rd party", personally i don't mess with 3d printing, so i'm afraid i can't help on such matters...
@ikonsgr Hi John
The ULIFAC That I have has some problems.
Its at the point where if I Issue |SW The Machine Crashes.
I was Able to Get 1 Rom installed BUT as soon as I Turned the Power Off and On again it was GONE.
Also When I Issue |rom It flashes something on the screen for a few Microseconds "Unreadable"so I cannot use the |Rm command
Can you supply the Code for Me to Flash The PICs so I can eliminate the possibility that the Problem May be there ?
I have had a look around and cannot find a link to the files to flash
Thanks
Keep Safe
Ray
Did you switch the RAM into ROM mode after Flashing? Yes, probably you did, but I got no better idea. :)
@GUNHED Yes I Did using |sw and or the Ram/rom Switch
I am about 5 days into looking ay this ULIFAC .
I think Most of the other features appear to work.
Its Just the Installation of the ROMS and their ability to be Retained after Power Down.
I have asked for the Files to re Flash the PICs
I am at the Moment looking at putting Replacements for the 2 74xxx IC's on the Board
I am not sure that I Have any.
Thanks for the thoughts
Keep safe
Ray
Quote from: Audronic on 00:01, 05 May 23Its at the point where if I Issue |SW The Machine Crashes.
I was Able to Get 1 Rom installed BUT as soon as I Turned the Power Off and On again it was GONE.
This is normal, mind that Rom board function on ULIfAC works with sram memory not eeprom, so you can't power off Amstrad and retain rom. So, if you power off Amstrad, any rom installed in the SRAM chip is gone! However one solution to do that, might be to use the external power supply for ULIfAC (remove power jumper cap if you do so), so because ULIfAC will not power off when Amstrad powers off, you might be able to "Cold boot" Amstrad using pre-installed roms directly.
Quote from: Audronic on 00:01, 05 May 23Also When I Issue |rom It flashes something on the screen for a few Microseconds "Unreadable"so I cannot use the |Rm command
Most probable you tried to use |ROM on rom/dual mode.
Rom configuration utility can be used ONLY on default 512K RAM mode as this is the mode to install and configure roms. Obviously you can't configure/change setup roms while in rom/dual mode as in these modes
roms are active! So, if you want to install and configure roms, you do it using the default 512K RAM mode, you just press ram/rom button to swap between RAM mode and rom/dual mode.
Quote from: Audronic on 00:01, 05 May 23Can you supply the Code for Me to Flash The PICs so I can eliminate the possibility that the Problem May be there ?
I have had a look around and cannot find a link to the files to flash
I'll send them to your email ;)
@ikonsgr Thanks John
The reply was VERY helpful
I will do some more tests and see how it goes
Thank
Keep Safe
Ray
Hi
Now, I also have a problem with some ROM's with my UliFac Board.
I like to install the ORGAMS Assembler ORGAMS (http://orgams.wikidot.com/userguide). (Strange Name, but the Tool is very cool :) ) This tool contains 4 ROM's:
· ORGAMS.ROM: Base Rom place in any rom position 1 to 15 (or up to 31 with the proper firmware).
· ORGEXT.ROM: Expansion Rom placed at any rom position 1-127.
· MONOGAMS.ROM: Monitor placed at any rom position 1-127.
· BRICBRAC.ROM: Additional additional Rom at any position 1-127.
The ROM's are stored on the Stick. In 512kb Mode, I like to load the ROM with:
¦MROM,"ORGAMS.ROM",1
(i have tried almost every ROM slot)
The CPC chrashes immediately (during loading!) How is this possible? The ROM is not switched on...
Any info's, help would be nice..
Thank you
Tobie
PS: with the WinAPE Emulator this tool works fine..
@charger73 The only roms that I was to Install were the Roms that were 16k (Without header) and that was very Intermittent ?
That may help
Keep Safe
Ray
@charger73:
Roms must be in standard 16KB (e.g. 16384 bytes) binary form, no extra headers should exist. (note also that roms with headers, usually indicate that they are made for Amstrad plus -classic example are cpr files- so they might not function properly on Standard Amstrad cpc models)
I've checked the 4 orgam roms and all seem to include headers, so what you need to do is to remove the first 128bytes of each rom file (i'm using this (https://mh-nexus.de/en/hxd/) very good and free hex editor to do it).
I've already done that for orgam.rom (attached file), this should work ok.
Quote from: ikonsgr on 11:00, 13 May 23@charger73: Roms must be in standard 16KB (e.g. 16384 bytes) binary form, no extra headers should exist. (note also that roms with headers, usually indicate that they are made for Amstrad plus -classic example are cpr files- so they might not function properly on Standard Amstrad cpc models)
I've checked the 4 orgam roms and all seem to include headers, so what you need to do is to remove the first 128bytes of each rom file (i'm using this (https://mh-nexus.de/en/hxd/) very good and free hex editor to do it).
I've already done that for orgam.rom (attached file), this should work ok.
thank you John. Now it works.
great support!
Quote from: charger73 on 12:55, 14 May 23thank you John. Now it works.
great support!
Are you preparing something "good" with it? :)
Quote from: ikonsgr on 16:40, 14 May 23Are you preparing something "good" with it? :)
Orgasm is always "good" !
... sorry i couldn't help it :picard: :D :)
Quote from: poulette73 on 18:32, 14 May 23Orgasm is always "good" !
... sorry i couldn't help it :picard: :D :)
Creative orgasms using orgam... :D
org AMS
Hi All
a simple way to load up some ROMS for the ULIFAC
Unzip the file to the root of your USB Stick and run " AUTO.BAS"
This will install 2 roms.
|ROMAN
|P
Have fun with it
Keep Safe
Ray
ROMAN 2.0 is a great tool for managing roms.
I've been using it for quite a while for my FlashGordon romboard.
And there are 2 ways to use it:
- either assign the .ROM file to a location defined in a romboard (ULIfAC, FlashGordon, others).
- either launch it directly from its Basic launcher, only when you need it. The result is the same, but the advantage is that you don't block a slot in the romboard for storage.
To use the file launcher occasionally, there's the attached DSK.
Launch by RUN"DISC
Or by this little Basic launcher :
10 LOAD "ROMAN.ROM",&C000
20 CALL &C040
Quote from: Audronic on 01:34, 25 May 23Hi All
a simple way to load up some ROMS for the ULIFAC
Unzip the file to the root of your USB Stick and run " AUTO.BAS"
This will install 2 roms.
|ROMAN
|P
Have fun with it
Keep Safe
Ray
What exactly are these 2 roms?
Hi John
Ok
ROMAN2NH.rom is a Program that informs of the rooms that are loaded It can be called by " |ROMAN "
PTEXT122.rom is Protext Word Processor that allows me to look or Write text files it can be called by " |P "
The simple basic program allows me to load these rom in about 1 second, it is based u[pon one of YOUR example programs.
I just thought some other members would like to have play with the program to customise their own Roms for the ULIFAC
Keep Safe
Ray
Hi all. I need some clarification regarding the File Manager. The ULIFAC instructions states File Manager can handle up to 1000 files and 25 folders.
Does this mean up to 25 folders, and you can have additional subfolders within each of those?
Also, is it 1000 files in total, or per directory?
I'm guessing when I try to go into a folder and the CPC freezes, that's when I've gone past the maximum, but want specifics so I can organise my files.
Quote from: bolton80 on 18:44, 31 August 23Hi all. I need some clarification regarding the File Manager. The ULIFAC instructions states File Manager can handle up to 1000 files and 25 folders.
Does this mean up to 25 folders, and you can have additional subfolders within each of those?
Also, is it 1000 files in total, or per directory?
I'm guessing when I try to go into a folder and the CPC freezes, that's when I've gone past the maximum, but want specifics so I can organise my files.
The limit is only for the current "level" you are, for example, if you are in root directory, you can manage up to 1000 files or folders. If you go inside a sub folder then same limit applies for the total files+folders in this subfolder.
Apart from this, there is a limit of 27 characters,for a path of a file. This practically means that you can have up to 3 subfolders (8 chars max for each subfolder + '/' character), although it can be more, if folder names are smaller.
Thanks
@ikonsgr .
That's useful. Now I have the problem that a lot of my directories are not showing as <DIR> and I'm having to press 1 to make them accessible. I've gone to Properties on the folders on my PC and checked, "Ready for Archive" is NOT checked. What else could be causing the directories not to show correctly?
If check box "Ready for Archive" is black (partially enabled) then try to "clear" it completely. Also uncheck the "Read only" attribute, maybe this causes the problem to remain.
Good evening everyone.
Got mine ULIfac few days ago, and finally get some time to test, but i have some issues.
This is screen that i got when i connect to amstrad cpc 464, and nothing happens.
(https://i.postimg.cc/mhvS00DR/IMG-1043-1.jpg) (https://postimg.cc/mhvS00DR)
If i click reset, machine resets but same result.
Edge connector is cleaned and dandantor is working without any problem, reset, loading games, everything is working ok
If i remove stick then sometimes i get that there is no usb device, but to get that i need to press ram/rom button. Then if i plug usb i am able to load game from .dsk file, but if i reset computer then it is stuck again.
Also i have noticed that some pins on USB board are not soldered, does it need to be soldered?
(https://i.postimg.cc/dhBmZ39t/IMG-1044-1.jpg) (https://postimg.cc/dhBmZ39t)
Do i missing something or? I have read manual, but cannot find nothing helpful.
Thanks for help.
Weak PSU?
2A is PSu, but i can try to power device externaly.
Maybe i have somewhere more powerful PSU.
Will try later and update.
tried with 3A PSU, same result.
Tried to power device with external PSU, again no change.
Try a different usb stick, some are fussy with the usb module, and can cause it to hang on startup (if too slow, or power hungry as some are)
The unsoldered pins are completely fine - it's like that with all u[s/l]ifac2 units.
Tired two usb sticks, same result.
Also on one stick created 256mb FAT partition, same result.
Any other advices?
Is this correct output?
(https://i.postimg.cc/jw03PbdS/IMG-1062-1.jpg) (https://postimg.cc/jw03PbdS)
- Enable USB auto mode with the following command: OUT &FBD1,51 + ENTER and restart your CPC. If the USB is still not recognized, try the following steps.
- Use USB 2.0 devices (to avoid voltage problems) or microSD-USB 1.1/2.0 adapter with micro SD/SD card that consume very little electricity.
- Not format your USB from the Windows system, but from an app called Easus Partition Manager Free (https://es.easeus.com/partition-manager/partition-master-free-download.html) .
- Format your USB in FAT32, 4KB clusters. If your drive is larger than 8GB, create a 4 GB partition (FAT32, 4KB) at the beginning of the USB space and leave the rest of the USB space unallocated.
An Edge cable problem cannot be ruled out. It has happened to me. Dandanator connects directly to the expansion slot and a faulty cable with ULIfAC can cause data or power loss. If the USB tips have not worked for you, try the Edge cable with which you connect your ULIfAC to your CPC, preferably a cable that is as short as possible.
I have emailed with John, will send him back this unit, and he will send me back another one.
He is suspecting that USB host module is faulty, but we will know when he got mine card to check.
Tried even with old 2gb stick, but same problem.
Also John advised me to try these commands above, but no change.
Tried also to add pull up resistor as John advised but no luck.
Cable for ULIfAC is what i got with device, it short cable. I do not have any other cable to test.
I will update post soon as i get another device, and also will write after John update me about this problematic device.
Quote from: ikonsgr on 11:52, 02 September 23If check box "Ready for Archive" is black (partially enabled) then try to "clear" it completely. Also uncheck the "Read only" attribute, maybe this causes the problem to remain.
I've found a solution to my folder directory issues. If anyone has similar problems...
Create your new folder directly on the USB stick, and then copy your files into it from a PC.
Do NOT create your folder on a PC and then copy it over to the USB.
Hope this helps!
Hi everyone,
Just received my ULIFAC the other day, it is a nice piece of kit!
I have a few questions that I am hoping can be answered. I am using a CPC 464 with the ULIFAC rev 3 device.
1. The |MROM command does not work on a 464 unless the 6128 bios has been loaded. I get a "type mismatch" if I attempt the command when in ULIFAC 512KB mode.
The same |MROM command does not error when I have the 6128 bios loaded. However, it doesn't seem to load the rom. Even if I type |SW afterwards, the rom is not loaded. Have tried multiple rom slots and different roms (all 16kb, no header).
This means basically my only option at the moment is to load everything via the config.txt, which limits flexibility. Has anyone had similar experiences?
2. The File Manager |FM doesn't support long file names. Is there an alternate tool / rom that supports long file names? Also, is there a way via File Manager to assign a disk to drive 2,3 and 4, rather than having to use the |MG commands?
Thanks so much again John for the ULIFAC!
Quote from: dmuscat on 05:00, 26 September 231. The |MROM command does not work on a 464 unless the 6128 bios has been loaded. I get a "type mismatch" if I attempt the command when in ULIFAC 512KB mode.
The same |MROM command does not error when I have the 6128 bios loaded. However, it doesn't seem to load the rom. Even if I type |SW afterwards, the rom is not loaded. Have tried multiple rom slots and different roms (all 16kb, no header).
This means basically my only option at the moment is to load everything via the config.txt, which limits flexibility. Has anyone had similar experiences?
With Basic 1.0 of CPC464 you can't pass arguments to rsx commands directly. You need first to declare a string variable. For example, let's say you want to mount CH.ROM file on slot 3. For CPC6128 you just give:
|MROM,"CH.ROM",3.BUT for CPC464 you must give:
A$="CH.ROM":|MROM,@A$,3. Mind also that this is the way you must pass string arguments with any rsx commands that requires it, not only |MROM. Btw,i mention this on User's Guide too :)
Quote from: dmuscat on 05:00, 26 September 232. The File Manager |FM doesn't support long file names. Is there an alternate tool / rom that supports long file names? Also, is there a way via File Manager to assign a disk to drive 2,3 and 4, rather than having to use the |MG commands?
Unfortunately this is a limitation of the CH376 USB host module, it doesn't support long filenames (as amsdos too), and all long filenames appear with a "~xxx" filename ending, just like with old MSDOS. Btw, you can type "~" on Amstrad CPC using CTRL+'2', as i guess that's the main "difficulty" with big names, you don't know how the hell you type the "~" on CPC :)
@Josip, I just receive the board you sent me, and i confirm that it gave me weird behavior too (mostly, Board not recognized on cold boot).
So, before starting "deep digging", to find the problem, i thought to give a "Clean flash" on ULIfAC's PIC chip (the one next to the Usb host module, which you can now reprogram using UART port and a simple usb2serial cable, the other PIC is mainly for controlling RAM/ROM board functions and you can't re-flash it onboard, as firmware for this PIC will never need to be updated anyway).
And guess what, all problems resolved! Amstrad boots normally, loads roms and reset to dual mode without problems (i use "auto usb" function and a config.txt file for auto mounting roms upon cold boot, to emulate the most "complex" booting), no matter how many times i switched it off/on!
Also it boots without problems if you have "auto usb" enable and no usb stick plugged or if you disable "Auto usb" function too. I tried all basic functions (access games, dsk images, snapshots, rom games) on both CPC464 and CPC6128 and everything worked perfect!
So it seems that in the end it was a bad flashing of PIC or perhaps PIC's firmware was damaged somehow, and needed to reflash it...
Quote from: ikonsgr on 08:19, 26 September 23Quote from: dmuscat on 05:00, 26 September 231. The |MROM command does not work on a 464 unless the 6128 bios has been loaded. I get a "type mismatch" if I attempt the command when in ULIFAC 512KB mode.
The same |MROM command does not error when I have the 6128 bios loaded. However, it doesn't seem to load the rom. Even if I type |SW afterwards, the rom is not loaded. Have tried multiple rom slots and different roms (all 16kb, no header).
This means basically my only option at the moment is to load everything via the config.txt, which limits flexibility. Has anyone had similar experiences?
With Basic 1.0 of CPC464 you can't pass arguments to rsx commands directly. You need first to declare a string variable. For example, let's say you want to mount CH.ROM file on slot 3. For CPC6128 you just give: |MROM,"CH.ROM",3.BUT for CPC464 you must give: A$="CH.ROM":|MROM,@A$,3. Mind also that this is the way you must pass string arguments with any rsx commands that requires it, not only |MROM. Btw,i mention this on User's Guide too :)
Quote from: dmuscat on 05:00, 26 September 232. The File Manager |FM doesn't support long file names. Is there an alternate tool / rom that supports long file names? Also, is there a way via File Manager to assign a disk to drive 2,3 and 4, rather than having to use the |MG commands?
Unfortunately this is a limitation of the CH376 USB host module, it doesn't support long filenames (as amsdos too), and all long filenames appear with a "~xxx" filename ending, just like with old MSDOS. Btw, you can type "~" on Amstrad CPC using CTRL+'2', as i guess that's the main "difficulty" with big names, you don't know how the hell you type the "~" on CPC :)
Thank you for the explanation John. Appreciate the quick response. Looks like I will be renaming a bunch of disk images so they are easier to read :)
Quote from: ikonsgr on 08:32, 26 September 23@Josip, I just receive the board you sent me, and i confirm that it gave me weird behavior too (mostly, Board not recognized on cold boot).
So, before starting "deep digging", to find the problem, i thought to give a "Clean flash" on ULIfAC's PIC chip (the one next to the Usb host module, which you can now reprogram using UART port and a simple usb2serial cable, the other PIC is mainly for controlling RAM/ROM board functions and you can't re-flash it onboard, as firmware for this PIC will never need to be updated anyway).
And guess what, all problems resolved! Amstrad boots normally, loads roms and reset to dual mode without problems (i use "auto usb" function and a config.txt file for auto mounting roms upon cold boot, to emulate the most "complex" booting), no matter how many times i switched it off/on!
Also it boots without problems if you have "auto usb" enable and no usb stick plugged or if you disable "Auto usb" function too. I tried all basic functions (access games, dsk images, snapshots, rom games) on both CPC464 and CPC6128 and everything worked perfect!
So it seems that in the end it was a bad flashing of PIC or perhaps PIC's firmware was damaged somehow, and needed to reflash it...
Great that you manage to solve issue, replacement is arrived in Croatia and i am expecting to have in next few days, so i will give i a test to this new one. Also in meanwhile i got usb programmer so i will be able to reflash just in case.
Got another ULIfAC, but i still have same problems.
So i am now starting to worry that maybe is something wrong with computer itself.
With dandanator it works normally, also loading from tape is working.
I am not very familiar with Amstrads, is there any chip that can maybe be marginal or faulty?
Or any specific usb stick that someone can recommend?
Thanks.
Quote from: Josip on 10:32, 08 October 23Got another ULIfAC, but i still have same problems.
So i am now starting to worry that maybe is something wrong with computer itself.
With dandanator it works normally, also loading from tape is working.
I am not very familiar with Amstrads, is there any chip that can maybe be marginal or faulty?
Or any specific usb stick that someone can recommend?
Thanks.
It seems that some 464s (mine included) just don't like the USIfAC/ULIFAC, although every other interface work fine with them.
It looks like some kind of timing issue but I couldn't find any evidence.
Strangely enough, when I also connect my M4 board with the M4 ROM disabled, my USIfAC works normally!
So you shouldn't blame your CPC or your ULIfAC but it would be nice if someone could find the cause of the problem.
d_kef
@d_kef I had a ? "SOFT" ? Z80 That created a similar Problem
I replaced it with a modern Z80 and the Problem went away
Good Luck
Keep Safe
Ray
I have somewhere another Z80, i will try to replace and check.
@AudronicTried to swap CPU with one from 1822 but same problem persist.
Do you have maybe code of your?
Tried a few different Z80 CPUs but... no joy. :(
I haven't got a CMOS one to test though.
d_kef
(https://lh3.googleusercontent.com/pw/ADCreHei2CfKyc5jmxtC4GooOmoSBnU6Q6RZs8ZCEBj1QSMYr6FNGPeNeQkeQ8wl5qCrPpWqWDjqlaioRjDMAA3Lxw52vC8fBjromI8y-T6l9GaDdFwVBTJmQTwN8B_zVYSCTVG97Xa7H1PPs2ebIHvWAwCGfsVaxgU9i3JrtEOheJmVGBLNhiR8J1TWdFL2CXt6G1iVq5kKEaISx9Cqht-UD7JLKWG7CSjTQbddOqXpujigi1-fDa3woUlRSeZ8LYNwjKvqvLhVvoFyy8o85wPj6o-lSH1YTuIJP4ugVnLuUPIkDKPZixTrkACNler-5XKc2mobYgZ0e0vfLaEC-zWPv-0_E4gR7Av3zttg5cqNkmKi8jr1TVjXU_cp8mJmUj85bQNPGdlqOKH9xHW_okNkxY2a6tvKxcZ49pRLL0QJyxv_w8FPvypkn0GsAeWuKEJ_Rw8ioNHxw24Qnz8_9ZxKIvXQdTW2bfhNIpiASSRBxsdUZ1b6j5HI8G1FyYHIjN_CSR1CPVTb99Ls-15U0puraO3Rxtr5D47ffk-YaGBxxZTmJqPKCkLjgC5QFoZWlb3-KD36TrftsTfybuDH5YVNdNWguWGHZz4BjOmfSC8ggmHLZn-MiDtpJ093ki_H4CZtGP7r7xqzTSXUAHeydpcrGLZrD4lZ8iTAcroHkA3DhOMeORRorIjpGyIm5Q8i7Lw2DwzVeGen_Cte-h4vWb5ZVZCxSaTiX0S9xxnAqucFaLv01STGcBq79T2CCEo2i_coPQbue2N2A1-peWOoGS849Yd56lSoOQJxmof3U7Qcl2NOeljJOa8NgpDdYl2395bU7yMyrZrSdMbNz4aemCimIcvu0nhhYKOVKTVxoyYPbeYqyxfQeL7GKn4XPYJoGzVDNfb851aCTUneCfQJZCtJ77c=w335-h718-s-no?authuser=0)
Quote from: Josip on 18:34, 09 October 23@Audronic
Tried to swap CPU with one from 1822 but same problem persist.
Do you have maybe code of your?
Hi Josip
Sorry I don't have the code, I just grabbed a new Z80 some time ago and it fixed the problem
Keep Safe
Ray
As far as i know, never such weird technical problems reported for CPC 6128, all reports concern CPC 464.
So,i tend to believe that as CPC 464 was the 1st design back from 1984 (and also designed and made from Amstrad rather hasty too...), there must be some update/fixes for CPC 6128 board design.
I have also noticed in the past, that changing Z80 CPU or ROM/EEPROM chips can correct or create problems on a CPC 464. This indicates that initial CPC464 board design, is a bit "marginal" regarding correct signal timings all over board.
One other possibility is that after so many years, small corrosion/oxidation of the board itself or parts (especially capacitors) might cause problems on traces (e.g. adding some parasitic resistance/capacitance) resulting in various signal problems.
As far as ULIfAC board concerns, board is rather small (less than 10cm in length),i use rather wide traces (~0.5mm),double copper thickness, and also gnd and 5v supply traces are ~1mm wide. This minimizes trace resistance/capacitance so i don't think that ULIfAC board design can cause any technical problems, at least on a rather slow 1MHz board like Amstrad CPC...
Quote from: ikonsgr on 11:12, 11 October 23As far as i know, never such weird technical problems reported for CPC 6128, all reports concern CPC 464.
So,i tend to believe that as CPC 464 was the 1st design back from 1984 (and also designed and made from Amstrad rather hasty too...), there must be some update/fixes for CPC 6128 board design.
I have also noticed in the past, that changing Z80 CPU or ROM/EEPROM chips can correct or create problems on a CPC 464. This indicates that initial CPC464 board design, is a bit "marginal" regarding correct signal timings all over board.
One other possibility is that after so many years, small corrosion/oxidation of the board itself or parts (especially capacitors) might cause problems on traces (e.g. adding some parasitic resistance/capacitance) resulting in various signal problems.
As far as ULIfAC board concerns, board is rather small (less than 10cm in length),i use rather wide traces (~0.5mm),double copper thickness, and also gnd and 5v supply traces are ~1mm wide. This minimizes trace resistance/capacitance so i don't think that ULIfAC board design can cause any technical problems, at least on a rather slow 1MHz board like Amstrad CPC...
Hi John, if you have any idea of what could be tested in order to pinpoint the origin of the problem I'm willing to use my (just brought back to life) 464 as a "lab rat".
d_kef
Is there any way of having a long-filename file manager? The 8 character limit causes headaches when organising or finding files.
Don't get me wrong, the ULIFAC is great, but I just wish it had something like Bob Fossil's Spectrum file browser.
Quote from: bolton80 on 11:24, 15 October 23Is there any way of having a long-filename file manager? The 8 character limit causes headaches when organising or finding files.
Don't get me wrong, the ULIFAC is great, but I just wish it had something like Bob Fossil's Spectrum file browser.
https://www.cpcwiki.eu/forum/hardware-related/usifac-ii-technical-problems-support/msg231893/#msg231893
In 2 words, long filenames are not supported with usb host module, but they supported with pc connection.
Thank you again for the ULIFAC, it has been a lot of fun tinkering with it.
I have it pretty much set up the way I want it now, unfortunately I have found its compatibility with some 128k games to be limited.
Rtype 128k, Pinball Dreams and Prehistorik 2 all don't work on my setup (CPC464 with ULIfAC). I have tried running as a 464 and as a 6128 using the appropriate ROMs, they refuse to work. Pinball Dreams starts to load, but hangs, Rtype never gets to the first load screen.
I assume this is something to do with the way the additional memory is mapped / accessed from the ULIfAC? These games all work from a DDI5.
Any tips would be appreciated.
Hi John,
I think I found the problem why 464 hangs on startup and whenever the usb is active, after some intensive investigation and Usifac source code studying I think the problem is in FDC IO request code (that's why all 6128's do work ok)
cont100:
CLC4POL = 0x80
UNPAUSELOOP2:
if IORQ=OFF Then
GOTO UNPAUSELOOP2
END IF
CLC4POL = 0x00
GOTO RESTART
You are missing intoff and inton operators there like it is in other places in the code. Basically what is happening if there is USART interrupt after 'CLC4POL = 0x80' then the BUSY becomes inverted, IORQ goes high, then the interrupt and after return from interrupt the loop continues already on then next IORQ which is not related to Ulifac and freezes in the loop till cpc reboots.
I assume the Ulifac code is very similar to Usifac code, can you please fix that and I can test on 464 ? (I have two with 40007 and one with 40010 gate arrays)
Also I would like to suggest to put another CLC cell in between CLC4 and BUSY pinout to implement 'unfreeze' logic by forcing BUSY high then switch it back to normal mode. Unfreezing BUSY by inverting it is not very good idea. It generates low spikes just after IORQ/MERQ goes up and also is source for 'hanging' issues.
I would be happy to help testing this on my 464s which are all not compatible with the Usifac.
For clearer picture here is scope shot. Pink is the IORQ and yellow is BUSY generated by CLC logic. The second low spike is the moment when BUSY is inverted, It's kind of OK, but would be ideal to not have it (some changes to unfreeze algorithm must be made)
i wonder if this is ever going to be acknowledged by the creator... :picard:
Quote from: Brocky on 19:47, 19 November 23i wonder if this is ever going to be acknowledged by the creator... :picard:
Really, your first post is a facepalm one? Great job...
maybe if there was proper support for an item we paid good money for, i wouldnt need to make facepalm posts :picard:
3 weeks and not a single word from the creator? not even a simple, "im looking into it"? :picard2:
and an admin defends this position? :picard: :picard: :picard:
Not defending his position, haven't even followed the thread. But this attitude will get you nowhere.
Brocky, I just received one of the M4 boards Duke makes and it seems like a really great board. Doesn't the M4 essentially do everything the USIfAC II does except without these strange bugs and support issues? I know every time I have messaged Duke he has responded promptly. Might be worth looking into the M4 as an alternative. just my two cents
Quote from: CaptainRon on 08:36, 20 November 23Brocky, I just received one of the M4 boards Duke makes and it seems like a really great board. Doesn't the M4 essentially do everything the USIfAC II does except without these strange bugs and support issues? I know every time I have messaged Duke he has responded promptly. Might be worth looking into the M4 as an alternative. just my two cents
i have an M4 board too that works great and ive never had an issue with it.
but thats beside the point, i pay for a device, i expect it to work as advertised, or get some support.
Currently, usifac is essentually an overpriced paperweight
@ikonsgr have you seen the investigation a few weeks ago? This could potentially be the root cause of the problems some 464 owners experience. If there is a fix I can offer to test it on 2 or maybe even 3 machines that are not working with the Usifac at the moment.
Hi everyone,
First i want to apologize i didn't answer earlier on the thread, i had some issues in the last few weeks and i didn't follow cpcwiki very often.
You can also easily find out that this was NEVER happened before, i usually respond in 1-2 days at most. In anycase,
if you see that you don't get a prompt answer, you can always send me a pm or email to notify me, and get a faster respond by me.@dmuscat did you try these games from the "WORTH TO PLAY AND CLASSIC" collection from here (https://www.dropbox.com/sh/hzp3a4b7fktcn8c/AAAj2U8otKw26j-chnd8uUxla?dl=0)?
@GL, Thanks my friend! I really have passed 100s times this specific piece of code, and never noticed that the required intoff/inton are missing! This is indeed the main "unpause" code for dsk function for both USIfAC II and ULIfAC. I will make the changes and try it with a couple of dsk games that mysteriously hang up upon loading, this might resolve the problem! :)
@Brocky i see that you've only made 3 posts in cpcwiki forum, and ALL are about making accusations and malicious comments about the boards i make...Hmmm, now that rings a bell about a similar behavior early this year, from... "down under" :picard:
@CaptainRon Μ4 board has more that 7years of development and debugging, moreover it costs more than TWICE the cost of USIfAC II, and it lucks a TRUE low level 765 FDC controller emulation like USIfAC/ULIfAC has, meaning that you CANT load MANY dsk games that don't use AMSODS routines.I had a pretty well experience of using a M4 board myself, and
here (https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/new-multi-purpose-board512k-ram-expansion32x-rom-board256k-ram2x-rom-board/msg227770/#msg227770) you can find my small review. In 2 words, although M4 is really an outstanding piece of hardware for Amstrad, still, it has also some issues and limitations. Btw, i don't suppose you are the SAME person with
@Brocky right? :picard2:
Quote from: CaptainRon on 08:36, 20 November 23Brocky, I just received one of the M4 boards Duke makes and it seems like a really great board. Doesn't the M4 essentially do everything the USIfAC II does except without these strange bugs and support issues? I know every time I have messaged Duke he has responded promptly. Might be worth looking into the M4 as an alternative. just my two cents
My two cents...
I have the M4 Board, and also two USIfAC II (as well as I have two CPC 6128).
We cannot compare the M4 Board and the USIfAC II.
These are two completely different interfaces, each with different functionalities.
The M4 Board can do things that the USIfAC II cannot, and vice versa. Each has its qualities and its shortcomings.
They are complementary, not competitive.
Now to talk about my personal experience.
I wrote dozens and dozens of PMs to John (
@ikonsgr). Each time he answered me, took the time to offer me solutions and suggest ideas.
USIfAC II is not really cheap (it's one of the cheapest interfaces on the market on Amstrad CPC !!),
@ikonsgr is absolutely not doing it for the money but he's passionate.
He provided me with up-to-date EPROMs for free, gave me a friendly price for the second interface, and was extremely helpful.
I don't encounter any malfunctions at home, everything works : USB mass storage support, DSK and SNA support, Direct Access, Wifi, FDC emulation, Parados, Writing DSK, copying files, etc. and all RSXs are operational.
An important detail, and not the least : it's the only interface whose FDC emulation is perfect !! All the games, demos, originals work ! (while on the M4 Board I only have 50% of the DSKs working... Those programs which use internal FDC send datas to the internal drive A and crash... Originals with protections or special tracks do not not working, and many more...)
Now I find it disrespectful to post a first troll message.
This isn't in the spirit of the Amstrad community, and creators who provide us with great extensions in their free time.
For what it's worth, my Ulifac stopped working the other day so I emailed John and a few hours later he got back to me with instructions to reset it. It's back up and running now!
Quote from: ikonsgr on 10:11, 20 November 23Hi everyone,
First i want to apologize i didn't answer earlier on the thread, i had some issues in the last few weeks and i didn't follow cpcwiki very often.
You can also easily find out that this was NEVER happened before, i usually respond in 1-2 days at most. In anycase, if you see that you don't get a prompt answer, you can always send me a pm or email to notify me, and get a faster respond by me.
@dmuscat did you try these games from the "WORTH TO PLAY AND CLASSIC" collection from here (https://www.dropbox.com/sh/hzp3a4b7fktcn8c/AAAj2U8otKw26j-chnd8uUxla?dl=0)?
@GL, Thanks my friend! I really have passed 100s times this specific piece of code, and never noticed that the required intoff/inton are missing! This is indeed the main "unpause" code for dsk function for both USIfAC II and ULIfAC. I will make the changes and try it with a couple of dsk games that mysteriously hang up upon loading, this might resolve the problem! :)
@Brocky i see that you've only made 3 posts in cpcwiki forum, and ALL are about making accusations and malicious comments about the boards i make...Hmmm, now that rings a bell about a similar behavior early this year, from... "down under" :picard:
@CaptainRon Μ4 board has more that 7years of development and debugging, moreover it costs more than TWICE the cost of USIfAC II, and it lucks a TRUE low level 765 FDC controller emulation like USIfAC/ULIfAC has, meaning that you CANT load MANY dsk games that don't use AMSODS routines.I had a pretty well experience of using a M4 board myself, and here (https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/new-multi-purpose-board512k-ram-expansion32x-rom-board256k-ram2x-rom-board/msg227770/#msg227770) you can find my small review. In 2 words, although M4 is really an outstanding piece of hardware for Amstrad, still, it has also some issues and limitations. Btw, i don't suppose you are the SAME person with @Brocky right? :picard2:
Firstly im sorry youve had issue the last few weeks, and sorry that ive called you out.
But as the developer of addons, you need to be prepared for disgrunted users when things dont work as advertised.
I havent wanted to post much about the issues as ive read about what happened to the other guy in the main usifac thread who brought these issues up.
The 3 week wait between any communication from you when an issue had been shown in detail was a bit much, as for 3 posts, it would have only been one, if admin didnt throw his useless 2cents worth in. It was just as useless as my first post! I was hoping my comment would just bump the thread and get ikonsgr to see it.
Accusing people of impersonating others is NOT the way to handle this. There are multiple people with the same issues, lasting more than a year now, but nothing is being done about it other than accusations and recitation after recitation of the usual "fixes" (clean edge connector and higher amperage powersupply).
Of course im going to give negative comments/reviews when the device doesnt work like it should. How can i give anything other when its failed all the usual fixes?
Im sure usifac is a great device, when it works as described, thats the entire issue here, it doesnt work as described, we'd like it to work, but nothing is being done, I feel like ive been scammed
You need to look at this from our (multiple users who are having issues) perspective. These issues have been going on way to long with nothing done about fixing it. Of course people are going to be negative.
Can you please just look into this fix so we can try it and hopefully turn our negativity towards the device around?
I understand there are differences, and these all seem like solid points. To be fair and clear, I don't have the USIfAC II , I have an old Schneider 464 one of our awesome members sent from Germany to me here in USA. After reading over the issues others had with their 464's and the USIfAC II, I decided to take the safe route and ordered the M4 instead. I can't really speak to the USIfAC II first hand, and only know what I have seen in this and another thread on the subject.
@ikonsgr I have seen others bring up issues and even provided diagnostic information and offered to help test and troubleshoot the issue like ETO and GL. But after your absence for the last several weeks I told someone that if they are having problems with bugs and lack of support with your project he might want to walk away and try another project, no big deal. I get it, we are all here as a fun hobby, its not like this thing is a job, people walk away from projects all the time.
However, instead of giving the others who have issues or who can help fix them the attention they deserve, like Eto who is a well respected member and has offered multiple times to help, you gloss over the response to them but go on to spend the majority of you post patting your own back telling me me about the superiority of your project. Then to add insult to injury have the gall to accuse me of some sort of impropriety. "BTW, I don't suppose you replied to me and accused me of being someone else in an attempt to discredit me because I said he may have luck with someone else's project instead, right?" The absurdity of it... I am a real person and live in Florida, USA. You can ask Duke, Dragon, or SkulleateR, who have all mailed items to me in the past.
I'm offended and shouldn't have to explain myself, who I am, or who can vouch for me. I am not the one who was ignoring supporters of his project.
That said, I forgive you and will put it behind me. Hopefully we can all continue in a civil manner without making uncalled for accusations of each other.
@Brocky : I am sorry and my post was useless
Also Brocky, seconds later: not sorry, and let's offend the admin while at it.
Keep at it and find out.
Ok, let me say 2 words and "put it behind":
The people with issues since late 2020 where USIfAC II board debuted,are no more than 4-5 individual persons,and considering that there are ~500 USIfAC/ULIfAC boards out in the world, it means that "issue rate" is less than 1% ....
@CaptainRon, obviously you don't have knowledge of the "behavior issues" we had in the forum early this year, regarding a specific person (admin Gryzor can confirm what were dealing with...)
Anyway, if i'm not mistaken, it was YOU that you clearly discredit my boards and support, suggesting the indeed great M4 board that
"essentially do everything the USIfAC II does except without these strange bugs and support issues" (although "forgetting" to mention that M4 is a MUCH older board since 2016, and has more than double the USIfAC II price...), when at the same time, you admit that you never had a USIfAC board!!
In any case, i think the best answer to your comments, is what poulette73 wrote just above...
can we please stop slinging steaming piles at each other and just sort out the problem? please?!
yes it might be 1%, but that 1% have still paid for a device that doesnt function correctly on their systems. We would like to find a solution,so we can ALL praise your efforts, i dont want to be posting negative comments. Id rather post praise, but im not going to kiss ass when the device is not working FOR ME...
i think there is a bit of miscommunication happening here too, seems iknonsgr and gryzor are getting offended at every little bit of negativity. its not my intention to offend anyone. My only intention is to get the issue, that hasnt been dealt with for far too long, fixed.
Quote from: Brocky on 11:02, 21 November 23can we please stop slinging steaming piles at each other and just sort out the problem? please?!
yes it might be 1%, but that 1% have still paid for a device that doesnt function correctly on their systems. We would like to find a solution,so we can ALL praise your efforts, i dont want to be posting negative comments. Id rather post praise, but im not going to kiss ass when the device is not working FOR ME...
i think there is a bit of miscommunication happening here too, seems iknonsgr and gryzor are getting offended at every little bit of negativity. its not my intention to offend anyone. My only intention is to get the issue, that hasnt been dealt with for far too long, fixed.
We do NOT tolerate offensive behavior. We don't get "offended at every little bit of negativity" - criticism is well tolerated, but abuse is not. And you offended both him and me willingly and knowingly so stop hiding behind the "miscommunication" finger. Especially since it's not the Sony or Samsung support you're dealing with, but with people giving their time to bring you something nice for a very low price, or free.
@Brocky, if you are the one that already had an older USIfAC II board and you encounter all kind of technical issues without able to resolve them, and since you seem to take it too seriously for FAR TOO LONG, if you want, send me your address, and i will send you a new USIfAC II board FOR FREE.
@ikonsgr Yes, I believe you are mistaken. I am not one of the people who submitted bug reports to have them go unanswered and ignored. I was addressing the other member in response to the "strange bugs and support issues" that him and other members are still having. As far as your statistics, It seems that Eto alone has at least 2 or 3 CPC 464's that have this issue, but again instead of working with them to resolve the issue, you continue to boast about the superiority of your project.
I have told you before that I forgive you for attempting to discredit me with your accusation that I'm a fake account, and asked that we could put it behind us. I will go a step further, and order one of your boards as a show of support for your project. I paid $50 with shipping to USA for my M4. I would have no problem spending the $20 or so for such a great board and to support your project and test it out on my 464.
Quote from: ikonsgr on 11:30, 21 November 23@Brocky, if you are the one that already had an older USIfAC II board and you encounter all kind of technical issues without able to resolve them, and since you seem to take it too seriously for FAR TOO LONG, if you want, send me your address, and i will send you a new USIfAC II board FOR FREE.
thats a nice offer thanks, id like to try GLs fix first tho, i mean the board itself is not very complicated, i dont think the problem lies there, but in the firmware itself, or the PIC itself has some weird things going on. if you want i can build the up the usifac on a breadboard to confirm its not a board issue, if you think that would help.
i have looked into the source code for rev6, made the changes GL reccommended, but i cant workout how to compile the code in MPlab X IDE, (seems im missing a bunch of project configuration settings and cant get the gcb file to be recognised), could you please make the changes to rev 7 with bootloader and upload for us to test.
@CaptainRon, let me get a few things straight:
The technical issues that eto and a few others reported here, are not easy to resolve, and we don't know that they really caused by the USIfAC boards (don't forget that our beloved Amstrad CPC are now ~40years old...)
You see,the problems seem to appear only on SPECIFIC Amstrad CPC boards. For example the board that eto's 3 CPC464 have issues,was tested and worked fine with my CPC464! Moreover, there are 100's of other CPC464 owners were USIfAC/ULIfAC works perfect!
So,
BY NO MEANS we are dealing with general technical issues with the board,but more of rather rare symptoms regarding SPECIFIC combination, of SPECIFIC Amstrad boards with specific USIfAC boards!
I'm afraid that in such occasions, the only thing we can do, is to return the board and send you a new one, just to ensure that there is no tech issues with the SPECIFIC USIfAC/ULIfAC board. In fact i've already done that a couple of times, and problems indeed resolved, the difference was that, these persons decide to communicate with me directly to resolve quickly such weird tech issues, instead of just posting here complaining, and in some cases ,trying to discredit the board in general...
Quote from: Brocky on 11:42, 21 November 23thats a nice offer thanks, id like to try GLs fix first tho, i mean the board itself is not very complicated, i dont think the problem lies there, but in the firmware itself, or the PIC itself has some weird things going on. if you want i can build the up the usifac on a breadboard to confirm its not a board issue, if you think that would help.
i have looked into the source code for rev6, made the changes GL reccommended, but i cant workout how to compile the code in MPlab X IDE, (seems im missing a bunch of project configuration settings and cant get the gcb file to be recognised), could you please make the changes to rev 7 with bootloader and upload for us to test.
I've just upload the gcb source code for rev7 for USIfAC II here (https://www.dropbox.com/scl/fi/49e50bhzzypr4i8eany7k/18f47q10_7_gcb_code.zip?rlkey=jrk72bezw547adm4z25yn8owc&dl=0). You can install GCB Basic and compile it directly. Btw, unfortunately the code snippet with the "bug" mentioned from GL is actually about direct connection with a PC and not usb host module, so it doesn't affect the usb functioning...
Quote from: ikonsgr on 12:15, 21 November 23I've just upload the gcb source code for rev7 for USIfAC II here (https://www.dropbox.com/scl/fi/49e50bhzzypr4i8eany7k/18f47q10_7_gcb_code.zip?rlkey=jrk72bezw547adm4z25yn8owc&dl=0). You can install GCB Basic and compile it directly. Btw, unfortunately the code snippet with the "bug" mentioned from GL is actually about direct connection with a PC and not usb host module, so it doesn't affect the usb functioning...
interesting indeed... that kept me busy for a while...
i had issues installing GCBASIC on my main system, it would block one of the drivers saying it was unsafe.. but got it working on another system and compiled it..
at first when i tried this newly compiled rev7 on the CPC i got nothing, like the usifac wasnt even connected (yup i screwed up!)
i try standard rev7, and again, nothing. argh have i killed the pic?! SMH
i go back to 6g firmware and it boots up with USIFAC rom line and seemed rock solid.. i couldnt get it to fail, but with the usb module removed from the usifac. i tried reattaching the usb module, it detected the module itself fine, looking good, plugged my 16gb usb stick in and power up, boom, detects the stick and reboots and locks up :(
so i tried my other 2 usb sticks, i tried 32Gb and 8Gb stick, both throw "Unexpected Error" where it usually detects the USB module. (all sticks where freshly formatted in FAT32 with 5 DSK files loaded on)
for giggles i even tried a 256mb SD card in a USB reader, but no USB detected! (i was hoping it would, but wasnt really expecting it to work!)
thats when it dawned on me! i needed to give rev7 the out command for rom number! (6g seems to automatically set it), i go back and flash the newly compiled version, and it showed up after giving the command and rebooting! doh! that was some wasted hours!
the modded rev 7 is acting the same as rev 6g, usb stick attached locks up the system, it detects the 16Gb stick, then reboots itself and locks up. Other sticks still show unexpected error where usb module detection line is supposed to show.
so now i seem to be pointing at the USB module, or the USB sticks themselves. ive loaded up a few games from wifi and they all seem to work fine, usifac is all of a sudden working much better with usb module removed
ill grab a new USB module over the next week and see if i have any better luck with it (if only wifi could load multiple DSK files into the MG slots i wouldnt need the USB at all)... ill test some more over the coming days without the USB module to make sure its stable with wifi and serial connections
thanks Ikonsgr, youve lead me down a rabbit hole and it seems it maybe getting us somewhere!
@eto and the other guys with issues, any chance you could try removing the USB module and seeing if that cures the problems?
Quote from: ikonsgr on 12:06, 21 November 23For example the board that eto's 3 CPC464 have issues,was tested and worked fine with my CPC464!
I might be that one weird example, where everything goes wrong:
In the meantime I tested 6 Schneider CPC 464 and 3 different Usifacs with several firmware versions:
For 5 CPC464s none of the Usifac works, but for one CPC 464 works with all USIFACs.
The 5 CPC464s that don't work are all tall keycaps versions while the CPC464 that works is the version with small keycaps. I don't understand why I have such a high hitrate for non-working combinations as others don't have that problem with the same Schneider CPC 464 models.
And as I said, if there is any upcoming fix, I can give it a try. I don't have all the non-working machines any more but at least 3 different 464s are still here.
Quote from: eto on 16:01, 21 November 23And as I said, if there is any upcoming fix, I can give it a try. I don't have all the non-working machines any more but at least 3 different 464s are still here.
Well, sometime in the near future i will order a new batch of USIfAC II pcbs, with some optimizations, like using wider traces (especially for Gnd & 5v) and better routing, hopefully this might resolve technical issues with some of the " tall keycaps version" CPC464 boards.
Quote from: ikonsgr on 16:26, 21 November 23Quote from: eto on 16:01, 21 November 23And as I said, if there is any upcoming fix, I can give it a try. I don't have all the non-working machines any more but at least 3 different 464s are still here.
Well, sometime in the near future i will order a new batch of USIfAC II pcbs, with some optimizations, like using wider traces (especially for Gnd & 5v) and better routing, hopefully this might resolve technical issues with some of the " tall keycaps version" CPC464 boards.
hmm seems my board is also a tall keycaps version, as a test for that i could route some power wires on the back of the USIfAC to the PIC, and power the USB module separately from the rest of the system (with grounds from both power supplies connected)
i might try that tomorrow!
another lead, thanks!
Btw,
@eto do you have any ULIfAC to try with your CPC464's?
I have a feeling that ULIfAC board has far less problems with CPC464, from the ~100 i sold so far, i don't recall anyone having such weird tech issues, and most of these boards go to CPC464 owners... ::)
Quote from: ikonsgr on 17:17, 21 November 23Btw, eto (https://www.cpcwiki.eu/forum/profile/?u=3625) do you have any ULIfAC to try with your CPC464's?
No, I don't have a ULIFAC.
Quote from: ikonsgr on 16:26, 21 November 23Well, sometime in the near future i will order a new batch of USIfAC II pcbs, with some optimizations, like using wider traces (especially for Gnd & 5v) and better routing,
I meant the fix that GL provided where GL mentioned, that this could fix the boot problems. I'm happy to test this with the 464s I own.
Quote from: eto on 20:50, 21 November 23Quote from: ikonsgr on 17:17, 21 November 23Btw, eto (https://www.cpcwiki.eu/forum/profile/?u=3625) do you have any ULIfAC to try with your CPC464's?
No, I don't have a ULIFAC.
Quote from: ikonsgr on 16:26, 21 November 23Well, sometime in the near future i will order a new batch of USIfAC II pcbs, with some optimizations, like using wider traces (especially for Gnd & 5v) and better routing,
I meant the fix that GL provided where GL mentioned, that this could fix the boot problems. I'm happy to test this with the 464s I own.
it does nothing for the boot issues, ive tested it, and as Ikonsgr said, that fix from GL only affects the direct connection to PC, i didnt see any difference with it.
not sure if you seen in my post earlier eto, but the usifac seemed to work quite well for 3 or 4hours testing ive done on my system with the usb module removed and wifi or serial connection to PC setup. (with firmware 6g and 7 with or without the fix)
if you could, could you try removing the module from your usifac and see if the problems still persists. it would be helpful if we could confirm the module is part of the issue. but i totally understand if you dont want to remove it.
Quote from: eto on 16:01, 21 November 23In the meantime I tested 6 Schneider CPC 464 and 3 different Usifacs with several firmware versions:
For 5 CPC464s none of the Usifac works, but for one CPC 464 works with all USIFACs.
The 5 CPC464s that don't work are all tall keycaps versions while the CPC464 that works is the version with small keycaps. I don't understand why I have such a high hitrate for non-working combinations as others don't have that problem with the same Schneider CPC 464 models.
@eto Do you have a spare NEW Z80 as i had a situation when one of my cpc's was unhappy with the USIFAC modules and it turned out to be a " SOFT" Z80", the older Z80 worked ok with every thing else - X Mem - XMass etc.
Give it a try
Thanks
Keep Safe
Ray
@ikonsgr is one of the most patient people I have been able to deal with in my long life.
I find it miraculous that he continues to respond patiently.
I think that on behalf of many users who have dealt with you or with
@Duke, thank you very much for your selfless work in the development of wonderful gadgets like ULIfAC or M4.
new CH376S USB module arrived today, no longer getting "Unexpected Error" with some sticks, using them still causes lockup on 2nd boot after its detected the module and usb stick. one of the sticks causes the module to not even detect, CH376 not found..
i will try powering the USB module separately, and see if there is any change, before moving to look at the USB init section of the firmware..
EDIT: removed the USB stick.. rebooted, disabled automatic USB activation, rebooted, gave |USB command... and now USB is working... OK..
so it seem something in the automatic usb activation is causing the lockup
woo, finally can play Batman demo, Pinball Dreams, and R-Type!
@Brocky Sometime ago i had similar concerns and it ended up being that the Poor quality USB sticks were the problem
It appears that they were to SLOW and were creating an error and then the CPC Locked up
I was using 2 Gig and 4 Gig when this happened.
I now use 8 gig Branded USB sticks
Good luck
Keep Safe
Ray
Quote from: Audronic on 06:22, 28 November 23@Brocky
Sometime ago i had similar concerns and it ended up being that the Poor quality USB sticks were the problem
It appears that they were to SLOW and were creating an error and then the CPC Locked up
I was using 2 Gig and 4 Gig when this happened.
I now use 8 gig Branded USB sticks
Good luck
Keep Safe
Ray
yeah i had thought that could be the issue... but all 3 are working fine with manual USB activation...(that one is no longer causing the module to completely lockup on boot)
ive got a 32 and 8gb sandisk stick and a noname 16gb stick..
im pretty sure my original USB module was bad.. the new one isnt throwing "unexpected error" on some sticks..and i would get lockups and whatnot enabling USB before..
@Brocky Weird request ?
Can you try Reformatting the Faulty Stick with "Fat 32"
and if you are using a MAC make sure that it is " Master BOOT Record "
Thanks
Keep Safe
Ray
Quote from: Audronic on 06:55, 28 November 23@Brocky
Weird request ?
Can you try Reformatting the Faulty Stick with "Fat 32"
and if you are using a MAC make sure that it is " Master BOOT Record "
Thanks
Keep Safe
Ray
all 3 where are formatted fat32 prior to testing original usb module.. all 3 work fine with manual usb activation.
USIFAC II seems to working fine with the new usb module. (apart from the auto usb activation)
i loaded up some DSK files fine and everything worked as expected when giving the |464 command..and disk swap works fine too..
@ikonsgr it looks like my issues are solved thanks.. i do have another small request tho...
your AmstradUtilityII program, could you please add an option to select which network adapter to bind the server to please, i need to disable a bunch of virtual network adapters i use for VMs, for the program to get the IP of my real network adapter. thanks
I don't think i can do that from the program, this is done automatically from Windows OS. If you have such problem, most probable you should select the active network adapter from windows itself.
i dont know of any setting for that in windows, alot of apps can select the adapter or IP to bind to, as the PC has multiple IP addresses, real on 192.168.0.x, vmware on 192.168.56.x, and hyper-v on 172.18.0.1..
the adapter selected is the adapter the utility program shows, i cant connect from the cpc to this IP.. i need to disable all but "ethernet 2" to get the correct IP...
Well, disabling the other adapters is one solution to this, i might be able to make the ip editable instead of getting it automatically, i'll see if i can do it
@Brocky Try this: https://www.dropbox.com/s/ooi1n326nd26efj/AmstradUtilityII.zip?dl=0
I've added a "add connection" button, and both IP and port are editable, so now you should be a able to use any network device you want by simply setting the respective ip/port for it.
Quote from: ikonsgr on 21:23, 28 November 23@Brocky Try this: https://www.dropbox.com/s/ooi1n326nd26efj/AmstradUtilityII.zip?dl=0
I've added a "add connection" button, and both IP and port are editable, so now you should be a able to use any network device you want by simply setting the respective ip/port for it.
excellent, thanks ikonsgr! i wasnt really expecting you to sort it out so quick! it looks like that option will do the trick...ill test it later this evening..
Quote from: Brocky on 02:14, 29 November 23excellent, thanks ikonsgr! i wasnt really expecting you to sort it out so quick! it looks like that option will do the trick...ill test it later this evening..
Well, thankfully it wasn't so difficult to add this ability, and i wouldn't want you to complain again for not getting "
proper support for an item we paid good money for"... ::)
Quote from: ikonsgr on 09:36, 29 November 23Quote from: Brocky on 02:14, 29 November 23excellent, thanks ikonsgr! i wasnt really expecting you to sort it out so quick! it looks like that option will do the trick...ill test it later this evening..
Well, thankfully it wasn't so difficult to add this ability, and i wouldn't want you to complain again for not getting "proper support for an item we paid good money for"... ::)
good one!.. i probably deserved that! :P
Ive finally got some time to test the new version of AmstradUtilityII.exe
the new binding method seems to work as intended
but unfortunately, i only receive garbage at the CPC
going back to the old version there is no garbage
also new version throws an "Access Violation" error on closing
could you please look into this Ikonsgr, when you have a chance, no need to rush!
Well, i've tested the new connection method with manually ip/port on my windows 10 pc and it seems it works ok.
As for the closing error, i don't know why it does that, maybe it's a "glitch" because of the "forced" ip
Hi everyone
I found the reason why Ulifac hangs with 464. It is not related to BUSY signal. The reason is very simple - Amsdos and Parados roms cannot be initialized without real FDC or FDC emulation, they hangs in the initialization code (seems like executing HALT in the loop somewhere).
In the Ulifac startup code there is CLC5 setup code for FDC emulation but it is turned off by default, if I change it to CLC5CON = 0x82 then all works great, (still testing it).
Also int the process of research found issue with ROMDIS signal, the RB3 direction is not set to out, so it is low all the time :picard: Ulifac shouldn't work at all but hardly fighting with data bus it somehow loads ok ;D
Did some fixes in the Ulifac hex file and now testing it
Awesome!
How is it possible that some 464s work while others don't?
- PSU
- Mainboard revision
- ...
Quote from: ikonsgr on 09:14, 06 December 23Well, i've tested the new connection method with manually ip/port on my windows 10 pc and it seems it works ok.
As for the closing error, i don't know why it does that, maybe it's a "glitch" because of the "forced" ip
thanks for having a look. i tried it a couple of times and garbage every time. then with no hardware changes, go back to the older version and it works, strange
any chance of releasing the source for the utility so i can play around with it?
@GL thanks for your efforts looking into that issue...
Quote from: GL on 13:34, 06 December 23Hi everyone
I found the reason why Ulifac hangs with 464. It is not related to BUSY signal. The reason is very simple - Amsdos and Parados roms cannot be initialized without real FDC or FDC emulation, they hangs in the initialization code (seems like executing HALT in the loop somewhere).
In the Ulifac startup code there is CLC5 setup code for FDC emulation but it is turned off by default, if I change it to CLC5CON = 0x82 then all works great, (still testing it).
Also int the process of research found issue with ROMDIS signal, the RB3 direction is not set to out, so it is low all the time :picard: Ulifac shouldn't work at all but hardly fighting with data bus it somehow loads ok ;D
Did some fixes in the Ulifac hex file and now testing it
The CLC that controls the FDC emulation is by default disabled, because default initial boot function is "direct file mode" (which is obvious, for the FDC to work you would need to mount an image first). I never thought that AMSDOS emulation needed FDC too, but if that's the case why hang (btw, when this hang occurs? And does it happen with both ULIfAC and USIfAC?) occurs rarely only with specific 464? ::)
About ROMDIS signal, this is controlled by the 2nd PIC on ULIfAC (that's why it seems as input on ULIfAC PIC) and on USIfAC it's the CLC3OUT this is defnined in Sub InitPPS section, so obviously it doesn't need to be set manually to output, in the code, if that was the case and PORTB.3 remained input, obviuolsy rmom emualtion wouldn't work. Nertheless i've added the direction set too.
Quote from: Brocky on 05:03, 07 December 23Quote from: ikonsgr on 09:14, 06 December 23Well, i've tested the new connection method with manually ip/port on my windows 10 pc and it seems it works ok.
As for the closing error, i don't know why it does that, maybe it's a "glitch" because of the "forced" ip
thanks for having a look. i tried it a couple of times and garbage every time. then with no hardware changes, go back to the older version and it works, strange
any chance of releasing the source for the utility so i can play around with it?
The window utility is written in Delphi (e.g. visual pascal), and it's rather extensive and complicated, but if you want i can upload it to get a look at it.
Btw, i think it's important the order of setting the ip and connecting to CPC. You should FIRST manually set ip on windows program, AND THEN turn on amstrad and set wifi module using |WIFI, otherwise it will not work.
Quote from: ikonsgr on 08:26, 07 December 23The CLC that controls the FDC emulation is by default disabled, because default initial boot function is "direct file mode" (which is obvious, for the FDC to work you would need to mount an image first). I never thought that AMSDOS emulation needed FDC too, but if that's the case why hang (btw, when this hang occurs? And does it happen with both ULIfAC and USIfAC?) occurs rarely only with specific 464? ::)
About ROMDIS signal, this is controlled by the 2nd PIC on ULIfAC (that's why it seems as input on ULIfAC PIC) and on USIfAC it's the CLC3OUT this is defnined in Sub InitPPS section, so obviously it doesn't need to be set manually to output, in the code, if that was the case and PORTB.3 remained input, obviuolsy rmom emualtion wouldn't work. Nertheless i've added the direction set too.
Actually the debugging was done using Usifac v6 gcb code, I transformed my Ulifac board to Usifac by soldering some jump wires and taking out ram/rom expansion pic. And I can confirm that the same applies to Usifac (hangind and romdis disabled). To understand why it hangs then deeper investigation of amsdos code is required (maybe some hardware differences between 464 ?)
PS. If the romdis is generated by both pics in Ulifac then maybe the correct way is to pull it up through diodes ?
Quote from: GL on 10:04, 07 December 23Quote from: ikonsgr on 08:26, 07 December 23The CLC that controls the FDC emulation is by default disabled, because default initial boot function is "direct file mode" (which is obvious, for the FDC to work you would need to mount an image first). I never thought that AMSDOS emulation needed FDC too, but if that's the case why hang (btw, when this hang occurs? And does it happen with both ULIfAC and USIfAC?) occurs rarely only with specific 464? ::)
About ROMDIS signal, this is controlled by the 2nd PIC on ULIfAC (that's why it seems as input on ULIfAC PIC) and on USIfAC it's the CLC3OUT this is defnined in Sub InitPPS section, so obviously it doesn't need to be set manually to output, in the code, if that was the case and PORTB.3 remained input, obviuolsy rmom emualtion wouldn't work. Nertheless i've added the direction set too.
Actually the debugging was done using Usifac v6 gcb code, I transformed my Ulifac board to Usifac by soldering some jump wires and taking out ram/rom expansion pic. And I can confirm that the same applies to Usifac (hangind and romdis disabled). To understand why it hangs then deeper investigation of amsdos code is required (maybe some hardware differences between 464 ?)
If i get it right, you say that some 464 hang because FDC emulation is disable,while AMSDOS emulation is active? And this happens only on initial boot? If that's the case, i think it's rather easy to settle it,on USIfAC boot code, i only need to activate FDC upon boot, and then at the end of boot code, deactivate it again. I can make the changes and give you HEX file to test it, but since you have already a "test ring", i can give you the USIfAC latest assembly code and make the changes yourself (then you should pass it back to me to covert it into a bunch of byte numbers and place it in GCB code under "Table RSX_CODE as byte")
Quote from: GL on 10:04, 07 December 23PS. If the romdis is generated by both pics in Ulifac then maybe the correct way is to pull it up through diodes ?
Initially i thought so, but after initial tries it seems that this doesn't affect the correct function of both PICs, so i didn't use extra diodes for that
Quote from: ikonsgr on 08:50, 07 December 23Quote from: Brocky on 05:03, 07 December 23Quote from: ikonsgr on 09:14, 06 December 23Well, i've tested the new connection method with manually ip/port on my windows 10 pc and it seems it works ok.
As for the closing error, i don't know why it does that, maybe it's a "glitch" because of the "forced" ip
thanks for having a look. i tried it a couple of times and garbage every time. then with no hardware changes, go back to the older version and it works, strange
any chance of releasing the source for the utility so i can play around with it?
The window utility is written in Delphi (e.g. visual pascal), and it's rather extensive and complicated, but if you want i can upload it to get a look at it.
Btw, i think it's important the order of setting the ip and connecting to CPC. You should FIRST manually set ip on windows program, AND THEN turn on amstrad and set wifi module using |WIFI, otherwise it will not work.
yup i was setting the server utility up before moving to the cpc and giving the |wifi command, but will double check that tomorrow
hmm im a n00b when it comes to delphi, but id like to take a look please
Ok, just for curiosity found why exactly the amsdos stucks at rom initialization
c95e ed78 in a,(c) ; read FDC main status register
c960 87 add a,a ; transfer bit 7 ("data ready") to carry
c961 30fb jr nc,$c95e
I tried on my 464 machine FDC main status register (port FB7E) reads value 120 (01111000) so the code can wait forever for my non-existent fdc to be ready :picard:
@ikonsgr and others with 'not hanging' 464's can you test what returns this basic command, I believe it will return 255
print inp(&fb7e)
Quote from: GL on 16:44, 07 December 23Ok, just for curiosity found why exactly the amsdos stucks at rom initialization
c95e ed78 in a,(c) ; read FDC main status register
c960 87 add a,a ; transfer bit 7 ("data ready") to carry
c961 30fb jr nc,$c95e
I tried on my 464 machine FDC main status register (port FB7E) reads value 120 (01111000) so the code can wait forever for my non-existent fdc to be ready :picard:
@ikonsgr and others with 'not hanging' 464's can you test what returns this basic command, I believe it will return 255
print inp(&fb7e)
Indeed, AMSDOS ROM init function includes "send command byte" routine where the asm code abstract is from, so if FDC emulation is deactivated and an AMSDOS initialize of rom occurs, it will "Stuck" for ever. On my CPC464 inp (&fb7e) retrurns 255 if no fdc is active, otherwise it returns 128 (so doubling this will set carry flag to true and bypass the loop).
Now, can you specify when exactly CPC464 hangs, and what did you do to by pass this hanging?
Maybe i will try it on my "non hanging" CPC464 and see if it also works ok, and then we can update fw with the modifications.
Quote from: ikonsgr on 20:21, 07 December 23Now, can you specify when exactly CPC464 hangs, and what did you do to by pass this hanging?
Maybe i will try it on my "non hanging" CPC464 and see if it also works ok, and then we can update fw with the modifications.
The hangs occurred each time on cold boot, and whenever on each reset if there is usb stick connected. So basically it was non-usable with usb flash.
As I wrote I just modified the clc's setup at the beginning of the code. Originally there is CLC5CON = 0x02; which setups CLC5 for FDC emulation, but is in disabled state. I changed it to CLC5CON = 0x82 just to test what happens, and it works for me. I'm sure this is not the proper way to fix the problem. It must be some check before amsdos initialization to test if cpc has real FDC (not sure for all possible real hardware/software configurations). This can be challenging as the amsdos/parados is the first rom which is loaded, possibly modification to the initialization code is needed to check for fdc presence and enable fdc emulation if it's missing.
Quote from: GL on 21:02, 07 December 23The hangs occurred each time on cold boot, and whenever on each reset if there is usb stick connected. So basically it was non-usable with usb flash.
Does the hang up occurs when you deactivate "auto usb" function too (just give out &fbd1,93)?
If it does, it would be very weird, because amsdos emulation shouldn't be activated upon cold boot (so no FDC emulation would needed either), unless "auto usb" function is activated, which includes the |EN command (that enables emulation for amsdos disc routines, so in a way, it partially activates amsdos).
@GL, and another possibly important clue: does the led on usb host module goes red before the hang up?
Btw, this is the initialization code for USIfAC REV7:
initialize_routine:
push de
push hl
;cont_init:
ld bc,&fbd9
ld a,1
out (c),a
ld a,&FB
in a,(&D3)
cp "/"
jr z,no_clear_path
ld c,&d1
ld a,53
out (c),a ;start of sub dir, 0=no sub dir
no_clear_path:
ld c,&d4
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 c,&d1
ld a,5
out (c),a
call restart_464
jr con464
set464:
LD a,&83
out (c),a
ld c,&dc
xor a
out (c),a
call enable_usb
or a
jr nz,con464 ;cpc464_1
ld c,&d1
ld a,4
out (c),a
cpc464_1:
call restart_464
con464:
ld hl,&be7d
ld a,&ff
ld (hl),a
ld a,&fb
in a,(&Df) ;check if fdc enable
or a
jr z,end3_init
call direct_enable
ld bc,&fbd1
ld a,4
out (c),a
ld a,7
out (c),a
dec a
out (c),a
jr end6_init
cpc6128:
LD a,&66
out (c),a
ld c,&dc
xor a
out (c),a
call enable_usb
end3_init:
ld a,&FB ;check if usb_stick enabled
in a,(&De)
or a
jr nz,end7_init
ld a,&FB
in a,(&D7)
or a
jr z,end7_init
ld bc,&fbd1
ld a,51
out (c),a
jr end8_init
end7_init:
ld a,&FB
in a,(&D9) ;check if rom enable
or a
jr z,end6_init
end8_init:
call direct_enable
end6_init:
ld hl,init_message
call printmessage_loop
ld bc,&efc4
out (c),c
ld a,&ef
in a,(&00)
cp 1
jr z,ram_mode
cp 2
jr z,rom_mode
ld bc,&fbc3
in a,(c)
cp 170 ;ram/rom board present
jr z,all_mode
ld c,&df
ld a,85 ;no ram/rom board
out (c),a
jr cont_init ;no expansion board present
rom_mode:
ld hl,extra_rom_msg
call printmessage_loop
jr cont_init
all_mode:
ld hl,extra_all_msg
call printmessage_loop
jr cont_init
ram_mode:
ld bc,&fbdf
ld a,170
out (c),a
ld hl,extra_ram_msg
call printmessage_loop
cont_init:
ld hl,no_msg
call printmessage_loop
pop hl
pop de
scf
ret
restart_464:
ld c,&c3
in a,(c)
ret nz
call 0
enable_usb:
ld a,&FB ;check if usb_stick enabled
in a,(&De)
or a
ret nz
enable_usb2:
ld a,&FB
in a,(&c6) ;check if auto enable usb is on/off
or a
ret z
call continue_usb
ld hl,no_msg2
call printmessage_loop
ld a,1
ret
init_message:
defb " USIfAC II Enhanced (7)",0
extra_ram_msg:
defb " + 512Kb Ram",0
extra_rom_msg:
defb " + 32X Rom Board",0
extra_all_msg:
defb 10,13," + 256Kb Ram + 2X Rom Board",0
Since you got involved pretty "Deep" with the "hang upon cold boot" problem on specific CPC 464, you might be able to make an assumption of where exactly in asm code you think the problem might be?
It's true that this code, especially after adding the "Auto usb" function, became pretty complex (in order to cover both 6128 & 464,"auto usb" function setting, the existence of extra ram/rom board), so there might be a "glitch" somewhere, although it's pretty weird why this "glitch" appears ONLY with specific CPC 464.... ::)
played with the new version of the utility yesterday, it worked as it should this time! no garbage at CPC...so that part seems to be good to go..
still get the error on closing tho, and another error popped up when the cpc disconnected and tried to reconnect (another access violation)
Ok,i just make some modifications on ULIfAC REV3 firmware.
Now, board boots with FDC emulation active and deactivated after "dual boot" of CPC464 at the end of 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,
@GL or anyone else having this weird "hang-up upon boot/reset" on a CPC464, try to update with this firmware (REV3a, for the moment, NOT an official firmware): https://www.dropbox.com/s/buwa93cknc48eiq/ULIFAC_v3a.zip?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.
And here is the same for USIfAC II (rev7a): https://www.dropbox.com/scl/fi/xob716tul3sbpjk40orkg/18f47q10_7a_.zip?rlkey=1o9acs1alj4f2i9vw1sfk0xf0&dl=0
Just tested rev7a with my USIfAC II and my stubborn 464.
Unfortunately there was no change in the behaviour.
It boots up to the "USIfAC II Enhanced (7)" message, then it reboots and freezes after the Amstrad copyright message.
If I also connect the M4, even with all ROMs and M4 ROM disabled the the USIfAC works perfectly fine!
d_kef
So, the USIfAC II ROM can be placed on the M4 expansion too?
No
Quote from: GUNHED on 21:47, 12 December 23So, the USIfAC II ROM can be placed on the M4 expansion too?
No. All ROMs on the M4 are disabled. Also the M4 DOS ROM is disabled. So the M4 is just connected to the CPC bus but it doesn't offer any functionality. Yet, for some reason, it makes the USIfAC boot normally.
d_kef
Good to know! :)
Quote from: d_kef on 20:48, 12 December 23Just tested rev7a with my USIfAC II and my stubborn 464.
Unfortunately there was no change in the behaviour.
It boots up to the "USIfAC II Enhanced (7)" message, then it reboots and freezes after the Amstrad copyright message.
If I also connect the M4, even with all ROMs and M4 ROM disabled the the USIfAC works perfectly fine!
d_kef
That's really unbelievable! With
some tests i made in the past (https://www.cpcwiki.eu/forum/amstrad-cpc-hardware/new-multi-purpose-board512k-ram-expansion32x-rom-board256k-ram2x-rom-board/msg227770/#msg227770), my RAM/ROM board was impossible to boot right with a M4, but now you tell me that this weird "hang on boot" problem with your CPC464 and USIfAC II, it resolves when M4 is also present! ??? :o
btw, did you try to disable "Auto usb" function (just give OUT &FBD1,93) and see if you still have the same problem?
If I disable the auto usb feature or if I boot without the USB installed then it boots normally. Then if I connect and enable the USB running |CAT works but running CAT freezes the CPC.
If I try to mount a dsk file or run any program from the USB it freezes again. And if I press the reset button the CPC reboots to the Amstrad copyright message and then freezes.
d_kef
Quote from: d_kef on 15:20, 13 December 23If I disable the auto usb feature or if I boot without the USB installed then it boots normally. Then if I connect and enable the USB running |CAT works but running CAT freezes the CPC.
If I try to mount a dsk file or run any program from the USB it freezes again. And if I press the reset button the CPC reboots to the Amstrad copyright message and then freezes.
d_kef
Hmmmm, these symptoms sounds more like a usb stick problem or maybe cooperation of usb host module with the specific usb stick. Did you try other usb sticks? If you still have problems with other usb sticks, then the "culprit" might be the usb host module itself.
Btw,i suppose you already tried the "small partition with fat16" of usb stick, right? I recall that creating a small partition, seemed to help with proper usb functioning.
Quote from: d_kef on 15:20, 13 December 23if I connect and enable the USB running |CAT works but running CAT freezes the CPC.
This sounds like having "direct file" mode disable. After booting (with "auto usb" disable), you just have to give |USB (no extra |EN commands needed). After that, you should be able to use RUN,CAT,SAVE,LOAD commands directly.
And you can also check current status of various functions at any time, by giving |STAT.
The exact same configuration works flawlessly with my 6128.
So I don't think it's the USB drive or the module.
I have also tried with a couple other USB sticks but not with FAT16. I'll give it a try if you think it might work.
About starting with "auto usb" off I only gave |USB after boot. No |EN or other commands. Just |USB and CAT or RUN"xxx and the CPC freezes.
If you think that I could do some other tests that might help or even take a video of the process, I'd be glad to.
d_kef
Quote from: d_kef on 19:44, 13 December 23The exact same configuration works flawlessly with my 6128.
Just |USB and CAT or RUN"xxx and the CPC freezes.
That's a new one,i never heard or encounter myself freezing of CPC after giving CAT or RUN commands... ::)
Well, the above statements, indicate that most probable USIfAC II board is functioning ok, but something REALLY weird is happening with your CPC464...
I also think that, your CPC464 (along with eto's CPC464's) must be the most "difficult" and weird cases ever reported ...
Say, did you try spraying with some holy water too? :laugh:
When i will get the new batch of boards, i could send you one to test it. Too bad that you don't have a ULIfAC board too, it could be very interesting to see if you would have the same problems with it too... ::)
thats really interesting... theres NO difference on my 464 with M4 connected or not... usifac works the same, either way.
the only lockups im having now (since replacing the USB Module) are with the auto usb and lock up on the 2nd boot.
CAT never works unless im using direct connection, i MUST use |CAT, or i get lockups...
Ikonsgr: is the 2nd boot actually needed, coz i can load up the usifac with auto disabled, it boots ONCE, then i give the |USB command and it works, no 2nd boot needed...
WHY does the auto function need a 2nd boot if USB can be enabled manually without a 2nd boot?..automating it shouldnt be requiring a 2nd boot.. (im still yet to try rev7a)
Quote from: Brocky on 01:03, 14 December 23Ikonsgr: is the 2nd boot actually needed, coz i can load up the usifac with auto disabled, it boots ONCE, then i give the |USB command and it works, no 2nd boot needed...
WHY does the auto function need a 2nd boot if USB can be enabled manually without a 2nd boot?..automating it shouldnt be requiring a 2nd boot.. (im still yet to try rev7a)
Second boot on CPC464 is needed because there is no amsdos rom present, instead there must be an active amsdos emulation (in order to have access to files using CAT,LOAD,RUN,SAVEetc).
The problem lies to the way Amstrad initializes roms. You see, when CPC 464 boots, rom initialization is done in reverse order, e.g. amsdos rom 7 should always init first. But, as USIfAC's rom is always assigned to a smaller number (deafult is rom 5), by the time it's initialized, there is no active Amsdos emulation. So, on initial boot of a CPC464, USIfAC's rom init code, activates the amsdos emulation (which is also performed by USIfAC), and reboots CPC to initialize it properly (this is not needed on CPC 664/6128 because Amsdos rom 7 is already initilaized BEFORE USifAC's init). Then, on 2nd boot, if "auto usb" is active, it automatically perform the |USB command, so practically the only difference between "manually" and "auto usb" functions, is to avoid giving the |USB command :)
Quote from: ikonsgr on 11:03, 14 December 23Quote from: Brocky on 01:03, 14 December 23Ikonsgr: is the 2nd boot actually needed, coz i can load up the usifac with auto disabled, it boots ONCE, then i give the |USB command and it works, no 2nd boot needed...
WHY does the auto function need a 2nd boot if USB can be enabled manually without a 2nd boot?..automating it shouldnt be requiring a 2nd boot.. (im still yet to try rev7a)
Second boot on CPC464 is needed because there is no amsdos rom present, instead there must be an active amsdos emulation (in order to have access to files using CAT,LOAD,RUN,SAVEetc).
The problem lies to the way Amstrad initializes roms. You see, when CPC 464 boots, rom initialization is done in reverse order, e.g. amsdos rom 7 should always init first. But, as USIfAC's rom is always assigned to a smaller number (deafult is rom 5), by the time it's initialized, there is no active Amsdos emulation. So, on initial boot of a CPC464, USIfAC's rom init code, activates the amsdos emulation (which is also performed by USIfAC), and reboots CPC to initialize it properly (this is not needed on CPC 664/6128 because Amsdos rom 7 is already initilaized BEFORE USifAC's init). Then, on 2nd boot, if "auto usb" is active, it automatically perform the |USB command, so practically the only difference between "manually" and "auto usb" functions, is to avoid giving the |USB command :)
this is what im not understanding, enabling USB manually, DOES NOT require a 2nd boot, it just works without all that youve posted above...
eg, auto usb enabled: 2 boots, lockup on 2nd boot, aparently initializing the roms
auto usb disabled: 1 boot, enter |USB, and it works fine with |CAT,run, load, save etc (just cannot use CAT must use usifac |CAT like ive ALWAYS had to do with usb, direct connection works fine with normal CAT)
ok if what youre saying truely correct.. if its coz usifac rom slot too low, what if i load up rombooster (to give 32 rom slots) on M4 (remove the 6128 ROMs, keep onboard 6128 ROM).. then, force usifac to use a rom slot higher than 7, auto usb should work fine in theory...right?!
Quote from: Brocky on 23:36, 14 December 23this is what im not understanding, enabling USB manually, DOES NOT require a 2nd boot, it just works without all that youve posted above...
eg, auto usb enabled: 2 boots, lockup on 2nd boot, aparently initializing the roms
auto usb disabled: 1 boot, enter |USB, and it works fine with |CAT,run, load, save etc (just cannot use CAT must use usifac |CAT like ive ALWAYS had to do with usb, direct connection works fine with normal CAT)
Well, actually you have 2 boots on all cases, it's just that the 1st reboot is usually done so quickly, that you don't get to see it :-)
Quote from: Brocky on 23:36, 14 December 23ok if what youre saying truely correct.. if its coz usifac rom slot too low, what if i load up rombooster (to give 32 rom slots) on M4 (remove the 6128 ROMs, keep onboard 6128 ROM).. then, force usifac to use a rom slot higher than 7, auto usb should work fine in theory...right?!
I don't think this will work, because on CPC464 bootable roms are from 0 to 7 only (on CPC6128 can be up to rom 15), so ROM 7 which is reserved for Amsdos, will always be the 1st to boot ,and probably they did it that way, because amsdos MUST bt the 1st to boot, as it does a lot of things upon rom initialization, primarily it alters jumpblocks and places extra codes and bytes in various ram positions too.
would it be possible to have a 464 selector jumper on the board so Usifac knows that it needs to activate amsdos emulation?
Quote from: eto on 12:31, 15 December 23would it be possible to have a 464 selector jumper on the board so Usifac knows that it needs to activate amsdos emulation?
This is done automatically by checking a specific ram address (&0006), which is different on cpc 6128 and cpc 464 (128=cpc 464, 145=cpc6128)
@d_kef i made some changes and update the 7a firmware, that might have better results with "sticky 464".
So if you want give it a try and tell us if it resolves the problem: https://www.dropbox.com/scl/fi/xob716tul3sbpjk40orkg/18f47q10_7a_.zip?rlkey=1o9acs1alj4f2i9vw1sfk0xf0&dl=0
Quote from: ikonsgr on 10:39, 17 December 23@d_kef i made some changes and update the 7a firmware, that might have better results with "sticky 464".
So if you want give it a try and tell us if it resolves the problem: https://www.dropbox.com/scl/fi/xob716tul3sbpjk40orkg/18f47q10_7a_.zip?rlkey=1o9acs1alj4f2i9vw1sfk0xf0&dl=0
Just tried it but no joy!
Nothing changed. Sorry.
d_kef
@d_kef, did you try to update firmware with a usb2serial cable instead of using PICKIT3 programmer? This freezing without any obvious reason, after giving simple commands (like CAT), might have to do with a flashing problem, either the programmer doesn't flash PIC correctly, or maybe the PIC chip itself might have a problem (although this would be a very rare possibility)...
I mention this, because i had a few cases in the past, where such erratic freezing was resolved after re-flashing PIC using my PICKIT4 programmer or a serial cable.
p.s. I ordered a new batch of USIfAC II boards, with some design improvements (like using wider tracks, especially for Gnd, and 5V, and also some track "tuning"), when i will get them, i could send you one board to test it with your "super sticky 464" :)
I only have a PICKIT3 clone at the moment. I'd never had much faith in it but it never failed to flash a PIC in the past.
My 6128 works fine with the USIFAC so I believe that neither the programmer nor the PIC is the problem.
I think it is probably a timing issue which would be very difficult to find unless you had a "sticky" 464 yourself to test.
d_kef
Today I cleaned my 464's expansion contacts with IPA and also changed the power socket as I was observing interference in my screen when I was twisting the plug in the socket. I'm sure now that I have a steady voltage, measuring 4,96V on the ICs.
Unfortunately that didn't make any difference with the stickiness problem.
So I thought let's test my USIfAC with my Plus machine which had similar problems.
Guess what! It booted first time, all RSXs worked and I was able to run games from the USB. Pressing the reset button freezes the system after the Amstrad copyright message, so I have to power cycle the CPC but that's not a big problem.
So rev 7a definitely improved the compatibility.
Good job!!!
d_kef
7a still locks up for me on 2nd boot, 'when USB stick is attached', otherwise i can plug in usb stick (or disable auto-usb) use |usb fine. but if i reboot after giving |usb, and usb stick is in, it will lockup. it locks up at the end of the amstrad text, before roms are loaded..
something other i noticed, with M4 card alongside in expander board, 'with 6128 roms loaded' the 2nd boot goes into a boot loop instead of just locking up, as does reboot after giving |usb. eg i see usifac rom line, and roms loaded on m4 show on boot, but as it hits basic it reboots... which is slighltly different than without 6128 roms loaded, where it just locks up..
im happy without auto usb tho..
@d_kef,rev.7a improved compatibility with Amstrad plus too? That's great news! :)
With previous fw, you also had the hang up problem with PLUS?
Hi,
I've also a problem with my 464 (plus) but with ULIFAC.
Latest firmware 3a installed
When i want CAT a DSK image, computer freeze with a the same glitch on screen
https://ibb.co/KDTsgTd
(https://ibb.co/KDTsgTd)
I type these commmands before :
|6128
|mg,"name.dsk"
|fdc
|cat
and....freeze -_-
Edit : hum perhaps |6128 is not compatible with 464 plus (only 464 classic) ?
I have some questions about the great USIfAC II please:
- How to read the directory of the USB stick
- How to read / write files from / to USB stick
- And if here is time: How to rename, delete files, create directories?
I would love to support the USB stick of USIfAC II with my software, but can't find specific docs about the USB stick access. Hope you can help me with this. :) :) :)
@Brocky where did you get the 7a firmware from? I'm using 6g at the moment (one with the USB auto mount). Would like to update and do some tests
Quote7a still locks up for me on 2nd boot, 'when USB stick is attached', otherwise i can plug in usb stick
I've had similar issues with mainly my 464's locking up (I had the tallkey version but now use the later version 464). Usually after trying |CAT or CAT or something it would lock up. I just gave up for now since that was a test version
So far I've noted better behaviour when AMSDOS is running (I have a plugin DDI3 interface here on the 464) but USIFAC did crash on |DIR
One of the main problems noted so far is power related. I've just tried this now, with the USIFAC II directly plugged into the 464, and it will not power up properly with the USB stick inserted. It needs to be on an externally powered MX4 board to function properly for starters
@ikonsgr one of the other problems which caused dramas with setting up bluetooth using 6g tonight is that the |SET command for serial is not keeping the baud rate. It keeps resetting to 9600 bps upon reset of the computer. Also if you run |TER and then close it (set the baud rate) and run |TER again, it locks up. So terminal doesn't like to be run twice in a row on this firmware version
Quote from: darkhalf on 13:42, 03 January 24One of the main problems noted so far is power related. I've just tried this now, with the USIFAC II directly plugged into the 464, and it will not power up properly with the USB stick inserted. It needs to be on an externally powered MX4 board to function properly for starters
Hmmm, so perhaps the other problems you also have are power related too. Did you try to use an external modern 5V PSU instead of the ancient "build in monitor" power supply?
Quote from: darkhalf on 13:42, 03 January 24@ikonsgr one of the other problems which caused dramas with setting up bluetooth using 6g tonight is that the |SET command for serial is not keeping the baud rate. It keeps resetting to 9600 bps upon reset of the computer. Also if you run |TER and then close it (set the baud rate) and run |TER again, it locks up. So terminal doesn't like to be run twice in a row on this firmware version
Try to disable "auto usb" function (out &fbd1,93), that's why it "resets" to 9600bps, if you do that, then board will retain the selected UART speed with |SET command.
Quote from: GUNHED on 14:32, 02 January 24I have some questions about the great USIfAC II please:
- How to read the directory of the USB stick
- How to read / write files from / to USB stick
- And if here is time: How to rename, delete files, create directories?
I would love to support the USB stick of USIfAC II with my software, but can't find specific docs about the USB stick access. Hope you can help me with this. :) :) :)
Didn't you get my email about these? It's been ~2weeks i post it to you ;)
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.
Btw,i tried an old 2GB usb stick,which after pressing reset seemed to hang up Amstrad, but it turned out that it needed several seconds for the specific usb to respond, so for anyone with this symptom (hang up after reset) it might be a good idea to try a different usb stick.
@GUNHED and anyone else might be interested,
here (https://www.dropbox.com/scl/fi/ikvp9o21khzi8havh2z78/usb-host-ch376.zip?rlkey=05452eq50vx5bb2xpyotd4swn&dl=0) is the documentation that helped me to develop the communication code for CH376 USB Host module.
File "commands.txt" contains the notes i took out of the other manuals (and from experience working with the module), which i think would be the most useful as it contains straight forward code for various functions (like reset usb module, open file, get directory etc)
Quote from: Regulus on 18:55, 01 January 24Hi,
I've also a problem with my 464 (plus) but with ULIFAC.
Latest firmware 3a installed
When i want CAT a DSK image, computer freeze with a the same glitch on screen
https://ibb.co/KDTsgTd
(https://ibb.co/KDTsgTd)
I type these commmands before :
|6128
|mg,"name.dsk"
|fdc
|cat
and....freeze -_-
Edit : hum perhaps |6128 is not compatible with 464 plus (only 464 classic) ?
If it's not a compatibility issue with PLUS, it might be a problem with the specific dsk image. Did you try other dsk images? Btw, if you want to mount parados images, you should give (after booting in standard 512K Ram mode): |DOS,2 and then: |6128 . You will see that Amstrad will reboot in dual mode having mounted parados rom instead of amsdos ;)
QuoteHmmm, so perhaps the other problems you also have are power related too. Did you try to use an external modern 5V PSU instead of the ancient "build in monitor" power supply?
No. Normally I run an MX4 daugtherboard with external 5V 1 amp minimum supply. The USB module will not run reliably with only the CPC464 power supply. So external power supply is mandatory IMHO for using USIFAC without issues (whether USB module, WIFI or Bluetooth module)QuoteTry to disable "auto usb" function (out &fbd1,93), that's why it "resets" to 9600bps, if you do that, then board will retain the selected UART speed with |SET command.
Okay will try that today and report back. I'm trying to connect Arkos Tracker 2 to the client at 115200bps via bluetooth at the moment
https://www.julien-nevo.com/arkostracker/index.php/music-on-hardware-in-real-time/ (https://www.julien-nevo.com/arkostracker/index.php/music-on-hardware-in-real-time/)
Quote from: ikonsgr on 19:03, 03 January 24@GUNHED and anyone else might be interested, here (https://www.dropbox.com/scl/fi/ikvp9o21khzi8havh2z78/usb-host-ch376.zip?rlkey=05452eq50vx5bb2xpyotd4swn&dl=0) is the documentation that helped me to develop the communication code for CH376 USB Host module.
File "commands.txt" contains the notes i took out of the other manuals (and from experience working with the module), which i think would be the most useful as it contains straight forward code for various functions (like reset usb module, open file, get directory etc)
Thank you very much ikonsgr!!! That's exactly what I was looking for :) :) :) :) :) :) :)
Quotedisable "auto usb" function (out &fbd1,93), that's why it "resets" to 9600bps
1. Confirmed that this command stops the USB from auto mounting, which then prevents the |SET function resetting to 9600 bps.
However for Version 6G it will also reset bps rate if one uses |USB command, which is also a bit unexpected (bug). See USIFAC_bps_reset.jpg
2. Also V4 USIFAC II manual still has the old terminal screen. Would suggest updating with latest version to avoid confusion. None of the menu options (like the ones from |SET) are in there
3. Another issue I have is using the Arkos Tracker. It will connect and run, but not for very long. It ends up with a striped white border after some time. This was testing both bluetooth, and direct serial 115200 bps. Direct serial almost lasted the whole tune). May contact the author about this, unless you have any ideas. Serial port monitor still shows the Windows application sending out data to the CPC when the application freezes up
4. Moving to the CPC464 with the 6G and as you can see only 5V power and 64MB USB stick. This has multiple issues, including no USIFAC prompt after |USB mount and then reset. CPC needs complete power off (reset button on USIFAC does not get past this problem)
5. There seems to be strange issues after some |RSX commands. For example like I mentioned in my other post, using |TER and quit and then |TER again on the 6128 will freeze
In this case, I did a |USB, then |CAT and then run"FM" for file manager. It gets a BASIC error. So I run it again and it freezes. I then reset with USIFAC button, and the screen corrupts and does not do a reset. I have to power everything off
Take #2 and after clean power up, |USB and then run"FM and it is okay. So all good, until I CTRL-ALT-DEL and then stuck on no basic prompt again. Reset button not working. Full power off needed
You will note that my 464 is running 6128 ROM / BASIC 1.1. Let me know if you need any more info
@ikonsgr did the update to the 7B firmware version now
https://www.dropbox.com/sh/ezzga2dppm6jlm7/AAC5tapEfqlYAF3u6F5V2lRXa/Inner%20workings/PIC%2018F47Q10 (https://www.dropbox.com/sh/ezzga2dppm6jlm7/AAC5tapEfqlYAF3u6F5V2lRXa/Inner%20workings/PIC%2018F47Q10)
I find this one not very usable unfortunately on my USIFAC II board with newer CPC464 (6128 ROM)
1. USIFAC II will freeze before BASIC 1.1 prompt with (64MB) USB stick inserted
2. When |USB and then normal CAT. Freeze up. Reset will result in not getting to BASIC 1.1 (step 1)
3. Similar with trying CAT after |CAT this time, getting broken in error
4. Following this USIFAC in a bad state. CD into DSK folder, but |CAT doesn't show contents. Remove stick and reset
5. After reset, |USB, |CAT, |CD,"DSK, |CAT, |MSG,"AA64.DSK", CAT resets CPC again
6. Try direct load. Use LILI CPC files. Run anarchy.bas and that works, until main screen and blank screen
7. Try direct load with solomons key. LILI files. Run solomons.bas and get a reset again
Please try these steps on your CPC464 and let me know if similar results. It seems not many functions working on that current version
@darkhalf, regarding speed setting of UART port, there is no bug,it just that usb function works with specific speed (1mbps), so whenever you activate USB using |USB command, it will issue the new speed, otherwise it defaults to 9600bps. You can also set new speeds without using |SET utility by directly giving OUT &FBD1,X (check user's guide for required setting of X number for the various speeds), so if you want to swap frequently between serial cable and usb function, it may be a better and faster solution to use a simple OUT command instead of |SET.
About the freezing, i think the problem has to do with the replacement of CPC6128 fw+basic roms. You see, when USIfAC boards initially checks for CPC model, your amstrad responds as if it is a CPC6128, which means that board "thinks" that you also have an amsdos rom (which obviously your CPC464 doesn't have), meaning that it doesn't activate amsdos emulation of the board (e.g. the "Dual boot" procedure with normal CPC464), and obviously first call to amsdos rom goes to... nowhere, thus the boot freeze.
Btw,did you try to press reset button instead of using CTRL+ALT-DEL? This might resolve the freezing problem, otherwise try to switch off/on Amstrad
Quote from: darkhalf on 05:55, 04 January 24@ikonsgr did the update to the 7B firmware version now
https://www.dropbox.com/sh/ezzga2dppm6jlm7/AAC5tapEfqlYAF3u6F5V2lRXa/Inner%20workings/PIC%2018F47Q10 (https://www.dropbox.com/sh/ezzga2dppm6jlm7/AAC5tapEfqlYAF3u6F5V2lRXa/Inner%20workings/PIC%2018F47Q10)
I find this one not very usable unfortunately on my USIFAC II board with newer CPC464 (6128 ROM)
1. USIFAC II will freeze before BASIC 1.1 prompt with (64MB) USB stick inserted
2. When |USB and then normal CAT. Freeze up. Reset will result in not getting to BASIC 1.1 (step 1)
3. Similar with trying CAT after |CAT this time, getting broken in error
4. Following this USIFAC in a bad state. CD into DSK folder, but |CAT doesn't show contents. Remove stick and reset
5. After reset, |USB, |CAT, |CD,"DSK, |CAT, |MSG,"AA64.DSK", CAT resets CPC again
6. Try direct load. Use LILI CPC files. Run anarchy.bas and that works, until main screen and blank screen
7. Try direct load with solomons key. LILI files. Run solomons.bas and get a reset again
Please try these steps on your CPC464 and let me know if similar results. It seems not many functions working on that current version
As i already explained, all problems caused by the CPC6128 fw+basic replacement without having an amsdos rom too. |USB command activates "direct file" mode, which means that it will also need to use Amsdos rom. But as your Amstrad recognized as CPC6128, amsdos emulation is not activated (like with any normal CPC464), as USIfAC expects to find a real amsdos rom which ofcourse doesn't exist... ::)
@darkhalf, try this to see if it helps: after intial boot, give: OUT &FBD1,5 and then reset amstrad (this is like activating the "Dual boot" process manually). This should activate amsdos emulation and hopefully will resolve the problems.
Also, if you want to use dsk images, after mounting (with |MG), you should give |464 (btw you forgot to give |FDC to activate dsk access anyway) as your amstrad doens't have an amsdos rom!
Quoteregarding speed setting of UART port, there is no bug,it just that usb function works with specific speed (1mbps), so whenever you activate USB using |USB command, it will issue the new speed
Okay no probs. Could you please add that to the manual for the |USB command. It makes sense, but caught me out (especially when it was set to auto, and I could not get bluetooth connecting properly)
Quoteif you want to swap frequently between serial cable and usb function
Thanks good to know about the out command. I'll stick with |SET as it's easier to remember ;D
QuoteAbout the freezing, i think the problem has to do with the replacement of CPC6128 fw+basic roms.
Yeah okay. Was trying to avoid the extra BASIC 1.0 commands in the 464 ROM :(
Anyway for testing I've tried to put a temporary 464 ROM+ BASIC 1.0 override via Revaldinho 6 ROM board, but it's not playing nicely with USIFAC II (doesn't get to the BASIC prompt). Tried USIFAC II at ROM7 also but no luck
QuoteBtw,did you try to press reset button instead of using CTRL+ALT-DEL?
Yes this made no difference pulling the RESET line. It will had the same effect as CTRL-ALT-DEL and needed power pulled
QuoteBut as your Amstrad recognized as CPC6128, amsdos emulation is not activated (like with any normal CPC464), as USIfAC expects to find a real amsdos rom
This makes sense now. When I put the DDI3 in to the 464 during testing, everything behaved a lot better (because AMSDOS was actually there). Was not aware of the OS ROM detection being used to see if AMSDOS was there
Quoteafter intial boot, give: OUT &FBD1,5
This did not work. CPC464 got stuck after doing the reset.
However I tried some other commands, including OUT &FBD1,4 and also |EN (mode 1) and had better luck with direct |USB files. So Army Moves and Solomons Key test games now run, since I'm making it not use AMSDOS
Quoteyou should give |464 (btw you forgot to give |FDC to activate dsk access anyway)
Okay that is a :picard: moment. I've done the |464 and booted into FDC emulation mode and DSK access works as expected now.
@ikonsgr thanks for the explanations
I just had a contact with someone having this weird CPC 464 freezing problems upon booting with a ULIfAC board (which fortunately with REV 3a fw, can easily overcome by just pressing reset button 1 or 2 times), but this time, he sent me a couple of photos of his CPC464 and i verified that it's indeed an early version with "tall keys" and a GA40007 with heat sink installed.
So, as my CPC464 is a later version (with normal keys and a GA40010 installed) with which i never had such problems (either with USIfAC or ULIfAC), i would like to ask anyone with these old "Sticky" CPC464's, to test a new fw (Rev3b) i upload here (https://www.dropbox.com/scl/fi/0uvk5nfk4t9qcke6nl4dp/ULIFAC_FINAL3b.zip?rlkey=kykdot0hjqekygagxu9tctq7p&dl=0), and note if it resolves the problem, or if there are any differences in Amstrad booting behavior.
If you want to talk about mod actions this is not the place. Also, bringing up old flames is not taken lightly. Feel free to open another thread.
HI,
I just received my ulifac
I have a cpc 6128 fr (azerty)
when I connect the module, I get the basic, with or without usb key
reset works
ram/rom doesn't change anything, just prompt basic
dsk/swap doesn't change anything
I only use the 5v power supply, since I don't use the floppy drive
on the usb key i have dsk files
pause works because black screen if in operation
in basic mode I executed the command OUT &FBD2.5 but that didn't change anything
at one point I got the message no usb key
do you have an idea ?
Thanks for your help ...
without the card it works
basic and keyboard ok
with the card I have started loading the bios, and nothing more, the keyboard no longer responds
action taken "in person" ;)
hi,
with ulifac and the |fm command, is there a way to display the long names of .dsk files?
and if not, is there a way to easily transform many .dsk files into short names? (8.3 names)
thank you
Quote from: bruce7491 on 17:13, 14 March 24hi,
with ulifac and the |fm command, is there a way to display the long names of .dsk files?
and if not, is there a way to easily transform many .dsk files into short names? (8.3 names)
thank you
From what I understand, it's a shortcoming of the USB board (CH376) that is used.
I've been manually renaming as I go, but it'd be far too cumbersome to do a "full set" of games.
that's what I started doing
but there are hundreds of files...
and no question of truncating on the first 8 characters
so for the moment I started to do everything manually as well, so that the name can indicate the name of the game anyway
Quote from: bruce7491 on 17:13, 14 March 24hi,
with ulifac and the |fm command, is there a way to display the long names of .dsk files?
and if not, is there a way to easily transform many .dsk files into short names? (8.3 names)
thank you
As already mentioned, this is a limitation of the USB host module. Now,as a general rule, the 8.3 name conversion should consist of the first 6 characters of image name, followed by "~" symbol and a number.
I would also recommend, instead of using the slow and cumbersome dsk images, try to extract files from images for instant direct access. Fortunately there is a tool that allows you to do this job massively, in a blink of an eye ;) It's CPC Loader (https://www.dropbox.com/sh/72u23q2jmoxzjbh/AABioenUJ8FS0TyogwIkTH7Ma?dl=0) where in "tools" tab you can select as many dsk images you want (usually placed in a folder with subfolders) and directly extract all files from each image to separate folders! Check the: "CPC Loader: Extract files from dsk images" sub section of USIfAC II/ULIfAC user's guides too.
Quote from: ikonsgr on 19:56, 14 March 24Quote from: bruce7491 on 17:13, 14 March 24hi,
with ulifac and the |fm command, is there a way to display the long names of .dsk files?
and if not, is there a way to easily transform many .dsk files into short names? (8.3 names)
thank you
As already mentioned, this is a limitation of the USB host module. Now,as a general rule, the 8.3 name conversion should consist of the first 6 characters of image name, followed by "~" symbol and a number.
I would also recommend, instead of using the slow and cumbersome dsk images, try to extract files from images for instant direct access. Fortunately there is a tool that allows you to do this job massively, in a blink of an eye ;) It's CPC Loader (https://www.dropbox.com/sh/72u23q2jmoxzjbh/AABioenUJ8FS0TyogwIkTH7Ma?dl=0) where in "tools" tab you can select as many dsk images you want (usually placed in a folder with subfolders) and directly extract all files from each image to separate folders! Check the: "CPC Loader: Extract files from dsk images" sub section of USIfAC II/ULIfAC user's guides too.
With fair warning, not *every* disk will extract correctly this way - it can be hit and miss with certain protected titles.
Quote from: Devlin on 23:14, 14 March 24With fair warning, not *every* disk will extract correctly this way - it can be hit and miss with certain protected titles.
Of course, there is a relatively small percentage of games (~10% or less) that bypass Amsdos and use custom track loaders, that's why i developed FDC emulation (for dsk image access) too.