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

Started by ikonsgr, 09:17, 01 December 20

Previous topic - Next topic

WacKEDmaN and 1 Guest are viewing this topic.

Devlin

Quote from: eto on 00:40, 04 February 22
I tried back and forth.
PSU: no change
different firmware: no change
no finally cleaned the edge connector with a fibre pencil: no change

The behaviour stays perfectly the same: first boot, Usifac is not recognized. Then I reset and it is recognized. Everything works perfectly until I reset again, then the computer hangs during startup.

Am I the only one who experiences this?

The problem is only on an early 464 model. On a 6128 it works perfectly fine.


I've not had any issues with my OG v1 board tallkey on usifac2 r6 fw - Had a few hiccups due to poor connection but that's usually a case of reseat the card and all's good again.


Reset and pause keys are wired directly into the edge connector - they're likely to always work.
Amstrad fan! | CPC464 + USIfAC II | Administrator of Amstrad Discord : https://discord.gg/ksWvApv

eto

Quote from: Devlin on 12:48, 04 February 22Reset and pause keys are wired directly into the edge connector - they're likely to always work.

Sorry, I was not clear here. reset and pause work of course.

I meant, that after I switch on the 464, the Usifac is  not recognised at all. But if I press reset the first time, it then IS recognised properly. Everything works as expected, I can run games etc. After I reset again, the 464 tries to boot but then halts on the boot screen before BASIC 1.0 would usually appear. Any further reset halts at exactly the same point and I have to turn off/on the 464.

joruib


Fran123

UPDATING FIRMWARE

I have to try install the firmware because my UsifacII has lost it (why? how?  I don't know). And now I have some doubts:

1- In what order should dupont cables be connected?      I got the UsifacII in last June and it's different from the board in the guide (https://www.dropbox.com/s/pymv4sbxch3psin/Updating%20the%20Firmware%20of%20USIfAC%20II%20via%20ICSP%20v1.pdf?dl=0)


2- Where should I set the voltage?   I can change VDD Nom, VPP and VDD App, but the guide only says "set the voltage to 3.5V"

3- Also it says tick "power target circuit from pickit3" but the MPLAP IPE I downloaded (v6.00) says "power target circuit from PM".  Are they the same?

4- What "programming mode entry" should I choose?   
     The options are: "use high voltage programming entry mode" and "use low voltage programming entry mode"


Thank you








issalig

I have version MPLAB IPE 5.45 and it seems it is a little bit different (look at the attached image.
Power target circuit  is checked.
Voltage level is 3.75V
Programming method is Apply Vdd before Vpp
Also in the Power Settings I have these values.

Hope that helps.

Quote from: Fran123 on 19:23, 05 February 22UPDATING FIRMWARE

I have to try install the firmware because my UsifacII has lost it (why? how?  I don't know). And now I have some doubts:

1- In what order should dupont cables be connected?      I got the UsifacII in last June and it's different from the board in the guide (https://www.dropbox.com/s/pymv4sbxch3psin/Updating%20the%20Firmware%20of%20USIfAC%20II%20via%20ICSP%20v1.pdf?dl=0)


2- Where should I set the voltage?   I can change VDD Nom, VPP and VDD App, but the guide only says "set the voltage to 3.5V"

3- Also it says tick "power target circuit from pickit3" but the MPLAP IPE I downloaded (v6.00) says "power target circuit from PM".  Are they the same?

4- What "programming mode entry" should I choose?   
     The options are: "use high voltage programming entry mode" and "use low voltage programming entry mode"


Thank you








Fran123


Devlin

Quote from: Fran123 on 12:10, 06 February 22
And what connection?   A or B?

(snip for brevity)


It's definitely B - The arrow on the Pickit (indicating pin 1 of the ICSP connector) should meet the *top* of the usifac2 as viewed from above
Amstrad fan! | CPC464 + USIfAC II | Administrator of Amstrad Discord : https://discord.gg/ksWvApv

ikonsgr

I think the problem with the firmware loss has to do with the fact that i'm using the MCLR (master clear pin) of PIC, in order to hardware reset PIC when you press the reset button.
Although this souldn't happen in theory (there are other safe guards to prevent this), it seems that it can happened under certain conditions.
Now, PIC offer various protections for flash eeprom (like code protection and write protection too) which i believe will solve this problem. Unfortunately if i enable these protections, the firmware produced, can't be flashed using older PICKIT 3 programmer. So, for some time, i used "Unprotected" hex files to flash PIC's ,but with rev6 and then, i surely used "protected"  firmwares for the boards and unprotected for the the distributed hex file (for anyone with pickit3 programmer to be able to flash it).
So, after late november, all boards sent (~25-30 so far) shouldn't have this problem.

eto

Quote from: ikonsgr on 14:24, 06 February 22So, after late november, all boards sent (~25-30 so far) shouldn't have this problem.

Can we apply this change on our older Usifacs too?

Fran123

Little improvements:


- print the firmware version at booting


- columns in CAT instead of a single list with pauses
I think it is very easy, just print the file name and count the chars, later print 8-chars whitespaces, print a point and the same with extension, later print 8 whitespaces.

ikonsgr

Quote from: eto on 15:40, 06 February 22
Can we apply this change on our older Usifacs too?
The protections can only applied using pic kit4 programmer. If you want i can upload the "protected" version of hex file to try it.

ikonsgr

Quote from: Fran123 on 21:28, 07 February 22
Little improvements:
- print the firmware version at booting
Done  :) :
[ You are not allowed to view this attachment ]  

Quote from: Fran123 on 21:28, 07 February 22
- columns in CAT instead of a single list with pauses
I think it is very easy, just print the file name and count the chars, later print 8-chars whitespaces, print a point and the same with extension, later print 8 whitespaces.
Actually you can only have 2 columns (as display is usually in mode 1). I remember i had a few trials in the past (using 2 columns for cat), but the result was a bit messy and made the identification and selection of  file/dir a bit difficult. Maybe i'll take a look when i have time (currently i'm working "full time" for the ram/rom board  :) ) .
In anycase,i think that the ability to use filtering in catalogues (|CAT,"xxx") adequately replaces the lack of "multi column" display  :)

ikonsgr


eto

Quote from: ikonsgr on 22:05, 07 February 22The protections can only applied using pic kit4 programmer. If you want i can upload the "protected" version of hex file to try it.

I only have a Pickit3 :-(

ikonsgr

Ok,i made some new tests with PICKIT3 programmer and found out that you can program a "protected" hex file (i had to set voltage level to 3.75v in order to work though)
I just upload a new Hex file (https://www.dropbox.com/s/9sznc8x39k39kyw/18f47q10_6a_pic4.zip?dl=0) that has the code write protection enabled. If anyone else has PICKIT3, you can try to flash this file, and let us know if it works ok. Hopefully this will stop the ubrupt damage/erase of PIC's flash mem.

p.s. this firmware also shows rev number on boot msg  ;)

eto

Quote from: ikonsgr on 12:37, 08 February 22If anyone else has PICKIT3, you can try to flash this file, and let us know if it works ok.

I could successfully write both my USIFACs. Thanks a lot!

Now I'm just left with the 464 whcih won't boot with it. I just recognized something when I tried it:
After I turn it on, I see the full boot message incl. the USIFAC message. Then it resets and during the automatic reboot it hangs before the USIFAC message appears.
And as usual, everthing is fine (incl. reset) until I type |USB. Once I reset then, the system hangs just before the USIFAC message.

(Also if I enable USB and then disable it again - both with |USB- reset will work properly. )

I tried it with both USIFAC I own. So something must be special about this specific CPC model that is in conflict with the USIFAC boot sequence.

I remember that the earlier firmwares did not reboot. Would it make sense to try the old one and see if it happens there too? Where can I find an old firmware, I didn't see it in the first post.

Devlin

Quote from: eto on 21:19, 08 February 22
I could successfully write both my USIFACs. Thanks a lot!

Now I'm just left with the 464 whcih won't boot with it. I just recognized something when I tried it:
After I turn it on, I see the full boot message incl. the USIFAC message. Then it resets and during the automatic reboot it hangs before the USIFAC message appears.
And as usual, everthing is fine (incl. reset) until I type |USB. Once I reset then, the system hangs just before the USIFAC message.

(Also if I enable USB and then disable it again - both with |USB- reset will work properly. )

I tried it with both USIFAC I own. So something must be special about this specific CPC model that is in conflict with the USIFAC boot sequence.

I remember that the earlier firmwares did not reboot. Would it make sense to try the old one and see if it happens there too? Where can I find an old firmware, I didn't see it in the first post.

Which model of 464 do you have?
https://www.cpcwiki.eu/index.php/Mainboard_Versions
Mine is a version 1 board, for example.
Amstrad fan! | CPC464 + USIfAC II | Administrator of Amstrad Discord : https://discord.gg/ksWvApv

eto


Audronic

@ikonsgr


I am able to Flash the PIC with PiCKIT 3 using 3.75 Volts.
On power I get the double restart and (6a)
I normally check the chip has programmed by using a seperate VERIFY pass
Tha Verify does NOT pass but the chip appears to be OK


Thanks


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

zhulien

Quote from: OffseT on 11:45, 08 November 21
Chany already asked me about such a support months ago, but according to the USIfAC documentation it didn't seem to be possible.
Anyway, both UniDOS nodes and USIfAC documentations are available, so feel free!
(and BTW, I cannot develop DOS node for all existing weird hardwares I do not even own)


I would love to see UniDOS support for USIfAC II - what is the most difficult part of implementing a FS over the serial port?  [ I can only image that some DOS calls if not implemented right (i.e. cashed in the client) could be very slow - but this serial port seems very fast ]

ikonsgr

@Audronic You can't verify the code because firmware created with "code protection" flag enabled, thus chip can't be read after flashing it.
@eto, there are some older firmware available but i don't remember if the 464 reboot process was included or not. In any case, i don't think that the auto boot is causing the problem, there must be some other thing that causes this abnormal behavior. One usual suspect is bad connection, usually at the edge connector, so make sure contacts are clean of dirt/oxidation etc.
Anyway, unfortunately 35+ years old electronics can give you a lot of headaches that sometimes is almost impossible to treat... but then again, is there a cure for aging?  ::)

ikonsgr

Yet,another UPDATE: (Rev.6b)

- Major speed improvement in access of ASCII files, effectively doubles reading speeds and ~50% faster writes.
- Bug fix: Unable to Load/Save file right after deleting files from usb flash drive (gave a "file not found" msg, and needed to load/save file again)
- Firmware revision is now shown in boot message
- Some minor optimizations in code.

New firmware is avaialble at the usual place as awlays: https://www.dropbox.com/sh/p9eo65nzyq59u8c/AABt_lRn2b2XEJYH-gh7Xb4Ua?dl=0
Now, i don't know if you ever tied to work with ASCII files, but access speeds were rather slow ~200bytes/sec for write, and ~300bytes/sec for read. The main reason for that, is that ASCII files are using  CAS_IN_CHAR and CAS_OUT_CHAR Amstrad firmware routines, which read/write only one byte at a time, instead of loading/writing the entire file at once (CAS_DIRECT routines), which is the case for normal Basic and Binary files. Ofcourse this has major impact in access speeds, and even using a disk drive, read/write of a basic file in ASCII form is rather slow too. So, as i'm currently waiting for the new(and hopefully last...)  prototype board, of the long awaited 512k RAM/ROM board,i've decided to review the USIFAC routine codes for  CAS_IN_CHAR and CAS_OUT_CHAR and i mange to improve speed to ~300bytes/sec for write and ~600bytes/sec for read. And in the process i discover the bug noted above and fix it too.

Fran123


shacpc


Powered by SMFPacks Menu Editor Mod