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

Started by ikonsgr, 08:17, 01 December 20

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Fran123

Hi

Are you going to implement a |cat2 command?
(Columns and bytes)

Are you going to release a new firmware versión?

Animalgril987

Quote from: ikonsgr on 17:33, 05 March 22
Quote from: Animalgril987 on 15:16, 05 March 22Hi @ikonsgr . Is there a simple m/c code way to detect a USIFAC  connected to the CPC?
Yeap, just give:
print inp(&fbd8)
This will get you USIfAC's Rom number (usually 5),otherwise you will get '255', which means no USIfAC board is connected.  ;)
Note also that, using this simple method,you can detect presence of USIfAC board, even if you have "hide" it from booting, by giving a rom number greater than 15. For example, if you give: OUT &fbd2,20 and reset Amstrad, you will not get USIfAC's boot message and no RSX commands will function, effectively disabling the board. BUT,you can still detect the actual presence of board by the simple inp() command mentioned above  :)

Many thanks  :D

ikonsgr

Quote from: Fran123 on 19:37, 05 March 22Are you going to implement a |cat2 command?
(Columns and bytes)
Showing size for each file is not so easy to do with CH-376 Usb Host module. You need to open each file, send a request for getting size, close file, and then go to next file...  ::)  Unfortunately all this process, slows down a lot the execution of getting a catalogue. You can see that with filesizemanager (fsm, lists files with sizes) which is much slower than normal filemanager (fm). Anyway, i might take a look at this, and see if i can fit it  into USIfAC's ROM

Quote from: Fran123 on 19:37, 05 March 22Are you going to release a new firmware versión?
Yes,soon i will upload a small fw update having the new multi column CAT/|CAT commands, along with a few other minor improvements.

shacpc

Hi @ikonsgr , some questions: 

a. is there a possibility to remove the restriction of File manager supports up to ~1000 filenames/directories and maximum 50pages (25 filenames/page) and have no limit or a wider limit?
b.  #687 the filemanager of this post has not worked correctly for me. accessing subfolders (second depth) fails when accessing a third depth or trying to run files from the second depth. In short, it has only been functional for me to execute files/directories in the root directory. I had to go back to the previous version of filemanager, which works perfectly.
c. do you plan that the .rom or .cdt files can be executed from filemanager? I say this from my lack of knowledge of the file system used.

thanks and congratulations for the project

Zeit


SimonG

@iconsgr

Can you add me to the list of interested parties please?

Thanks

ikonsgr

Quote from: shacpc on 06:52, 08 March 22a. is there a possibility to remove the restriction of File manager supports up to ~1000 filenames/directories and maximum 50pages (25 filenames/page) and have no limit or a wider limit?
Actually there is no "hard limit" on that, it's just a matter of memory. You see, name catalogue is created all at once (it can't be done otherwise) and saved into amstrad's memory using the |MAN command.The ~1000 filenames is a minimum number, having "full length" 8.3 names. If you have shorter file names in average, you can get more than 1000names, using the old filemanager (new filemanager pad names with spaces to have all names alligned so ~1000 is the actual limit). Btw, there is a "hard limit" of 100 max. pages (which gives you a max. file number of 2000)

Quote from: shacpc on 06:52, 08 March 22the filemanager of this post has not worked correctly for me. accessing subfolders (second depth) fails when accessing a third depth or trying to run files from the second depth. In short, it has only been functional for me to execute files/directories in the root directory. I had to go back to the previous version of filemanager, which works perfectly
You need to select "old board", because the code for |MAN has changes to support the new filemanager, so it needs to load from a new binary file and not from USIfAC. Next firmware update (6c) will include this new |MAN.

Quote from: shacpc on 06:52, 08 March 22do you plan that the .rom or .cdt files can be executed from filemanager? I say this from my lack of knowledge of the file system used.
Rom files must loaded into specific places in 512K SRAM (that emulate the rom board), according to the desired rom number. Then you can "Execute" them by changing from RAM mode to ROM board mode (it will be done with a small push button like the reset button on USIfAC). So, for ROM files you can't just press a button and execute it like BAS/BIN files. I've developed a small utility for that, as you need to give both rom name and rom number. For cdt files (if i'm not mistaken are cassette images right?),i'm afraid i don't know anything about them.
BUT, it might be feasible to load .CPR files into 512K SRAM using filemanager  :)

ikonsgr

I finally receive the new boards for RAM/ROM board project and made some tests. Test with upper/lower roms both activated at the same time, were succesfull, and now i could have a CPC 464 runnning with CPC 6128 FW & Basic 1.1 (also works with FW31  and Basic 1.1 on CPC464)!  :)
Now, although everything works perfect with my CPC464,i have problems testing with one of my CPC6128. It seems that it gives video noise on screen, whenever the extra 512K SRAM is used. Check this small video of Amstrad Diagnostics V1.2A while testing upper ram:
https://www.dropbox.com/s/2kdde3o3t5vfiot/VID_20220311_195103.mp4?dl=0
Same video noise also appears with some 128k games i've tried (RTYPE 128, Star sabre). I also have a rather weird erratic behavior of Amstrad when using ram/rom board with USIFAC II attached on it: https://www.dropbox.com/s/qqpkshz7gihq10s/IMG_20220311_202122_840.jpg?dl=0
USIfAC not recognised, programs stop loading, resets when roms are loading into SRAM, and the video noise mentioned above....  ???  Even more weird is the fact that USIfAC II alone, works perfect with the CPC6128, and problems start only when i plug  USIfAC on RAM/ROM board! Note also that NONE of these problems occures, when i plug RAM/ROM board with USIfAC II, on my Schneider CPC 464! With CPC 464, everything seems to work perfect without even a glitch! I'm trying to find what is wrong with CPC6128, but any "case scenario" i've thought, really doesn't make sence:
- If it's a problem with Amstrad's expansion port, why everything works ok when only USIfAC II is plugged?
- If it'a problem with RAM/ROM board,why everything works perfect with my CPC 464?
Could it be a board design problem, of added impedance to the various signal lines, as i'm using rathger thin lanes (0.33mm width)? But then again, why this is not an issue with the CPC464?
Funny thing is that i currently have 3 cpc6128, but one of them burned a rom and currently is "out of order" and the other is the "fully remade" i mention here
, which most probable has a "dry joint/cracked trace" issue like Bryce suggests, and of course it's not a reliable Amsrtad for extensive tests...
Any suggestions?  ::)




issalig

Given that there is noise in the screen, that would mean that addresses C000 to FFFF are corrupted.
Maybe there is noise in the address lines, and some bits are corrupted ending up in addresses in the screen memory, I am not an expert in electronics but would decoupling caps help?

Do you have an oscilloscope to check those lines? Maybe checking A15-A14 is a starting point

Which VCC do you get using 464 and 6128?

Maybe an external power would help in case it is too low.

ikonsgr

Power supply is very steady at ~5-5.1 Volt so definetely the problem is not caused from it. I have to investigate further for various scenarios...  ::)
Anyway, i just upload a new firmware update (rev. 6c):

- |CAT,CAT commands, now show lists in 2 columns for MODE 1 and 4 columns for Mode 2.
- |FORMAT now places sectors in interleaved order (instead of sequential).This will not affect the format time of a disk, BUT,it will offer MUCH faster reading (~100%) and writing (~50%) speeds!
- |FDC now checks for valid image name and gives an error message if there isn't any. This will help to avoid hang ups, if you try to access non-existant image name or if image slot is empty (forgot to give |MG,"name" before activating FDC emulation).

You can find the direct link at 1st page of this thread as usual.




eto

Quote from: ikonsgr on 18:20, 22 March 22Solder a small 1Kohm resistor as shown here:
how would it look like on older boards? Mine does look different without this spot where I could connect it too. 

ikonsgr

@eto, give me a bottom photo of the board and i'll show you  :) 

eto


ikonsgr

Ok, place a 1Kohm resistor between the pins with red circles:

eto

great! thanks. btw: is it possible to add the disk swap button to this version?

shacpc

thanks john, updated without problems!  8)

QuoteAnyway, i just upload a new firmware update (rev. 6c):
- |CAT,CAT commands, now show lists in 2 columns for MODE 1 and 4 columns for Mode 2.
- |FORMAT now places sectors in interleaved order (instead of sequential).This will not affect the format time of a disk, BUT,it will offer MUCH faster reading (~100%) and writing (~50%) speeds!
- |FDC now checks for valid image name and gives an error message if there isn't any. This will help to avoid hang ups, if you try to access non-existant image name or if image slot is empty (forgot to give |MG,"name" before activating FDC emulation).
You can find the direct link at 1st page of this thread as usual.



ikonsgr

Quote from: eto on 21:29, 22 March 22great! thanks. btw: is it possible to add the disk swap button to this version?
Yes you can! First, you must update firmware, as the original fw for this board didn't  support dsk swap. Then, you just need to connect a small momentary button between the pins in yellow circle!  ;)


Fran123

Quote from: Fran123 on 19:37, 05 March 22Showing size for each file is not so easy to do with CH-376 Usb Host module. You need to open each file, send a request for getting size, close file, and then go to next file...  ::)  Unfortunately all this process, slows down a lot the execution of getting a catalogue. You can see that with filesizemanager (fsm, lists files with sizes) which is much slower than normal filemanager (fm). Anyway, i might take a look at this, and see if i can fit it  into USIfAC's ROM
 
Yes, it is a slower process, but the user can choose when to use it.  

Many times it is interesting to know how much a file occupies, and as an extra addition it could return the exact size in bytes.

Devlin

Quote from: ikonsgr on 18:20, 22 March 22Power supply is very steady at ~5-5.1 Volt so definetely the problem is not caused from it. I have to investigate further for various scenarios...  ::)
Anyway, i just upload a new firmware update (rev. 6c):

- |CAT,CAT commands, now show lists in 2 columns for MODE 1 and 4 columns for Mode 2.
- |FORMAT now places sectors in interleaved order (instead of sequential).This will not affect the format time of a disk, BUT,it will offer MUCH faster reading (~100%) and writing (~50%) speeds!
- |FDC now checks for valid image name and gives an error message if there isn't any. This will help to avoid hang ups, if you try to access non-existant image name or if image slot is empty (forgot to give |MG,"name" before activating FDC emulation).

You can find the direct link at 1st page of this thread as usual.

Now,i also have a small board design suggestion (it's a rather easy and straightforward task for anyone with a simple soldering iron), that it might help avoid erase/damage of USIfAC's II PIC MCU.
Solder a small 1Kohm resistor as shown here:
You cannot view this attachment.

It's a simple pull up resistor for the MCLR pin of PIC MCU (it is used when you press RESET button). Although an internal weak pull up is enabled, this will give stronger pull up, and possibly prevent accidental damage/erase of PIC MCU. All boards i make from now on, will have this resistor too.

Update installed, and the new CAT command is fantastic :) Can we get the File Manager put in the firmware, as an alternate build w/o the games?
CPC464 & CPC6128 + USIfAC II + Revaldinho 512k(universal cpld ver) - Schneider CRT TV
Administrator of Amstrad Discord : https://discord.gg/ksWvApv

ikonsgr

Quote from: Devlin on 19:08, 23 March 22Update installed, and the new CAT command is fantastic :) Can we get the File Manager put in the firmware, as an alternate build w/o the games?

Unfortunately file manager is quite large, ~5-6Kb and PIC's MCU free flash memory, is currently less than 500bytes.  ::)

Nworc

Quote from: ikonsgr- |FORMAT now places sectors in interleaved order (instead of sequential).This will not affect the format time of a disk, BUT,it will offer MUCH faster reading (~100%) and writing (~50%) speeds!

Wow, you were really quick with the update!  Thank you for accepting the feedback.

BTW: Does anybody in this board offer a 3D printing service for the Usifac casing?

I do have more trust if someone from this board is doing that instead of consulting a 3D print service. Also, if someone here owns a 3D printer, he might be interested to do that in order to compensation a little for the cost of the 3D printer. So, anyone?

ikonsgr

Quote from: Nworc on 19:45, 23 March 22Wow, you were really quick with the update!  Thank you for accepting the feedback.

Well, fortunately was quite easy! And you can find the modified code here

eto

2 questions:


1) How do I unload a disk image? A hard reset works, but is there also a command so I will see the contents of the USB stick again?

2) is intended, that while I am accessing the USB drive, that the motor does not stop anymore? I am aware that whenever an operation is done, that the motor will also spin, but currently, when I look at the contents of the USB drive with e.g. a CAT, the motor of Drive A starts to spin and does not stop until I load a DSK image. Only then it stops after a few seconds.

ikonsgr

Quote from: eto on 21:34, 24 March 221) How do I unload a disk image? A hard reset works, but is there also a command so I will see the contents of the USB stick again?
There is no extra "unload" commmand for dsk images. But if you give:|MG,"  will empty image slot, so practically this is an "unload"  :) .In any case,there is no need to unload a dsk image, you just give a new |MG,"name" command to mount a new image directly! Note also that  you can use |SMG to see current list of all 4 image slots.

Quote from: eto on 21:34, 24 March 222) is intended, that while I am accessing the USB drive, that the motor does not stop anymore? I am aware that whenever an operation is done, that the motor will also spin, but currently, when I look at the contents of the USB drive with e.g. a CAT, the motor of Drive A starts to spin and does not stop until I load a DSK image. Only then it stops after a few seconds.
If you are using dsk images, then it's normal to hear Disk motor (if there is a floppy disk insterted of course). Motor activation is done using a different port which i don't mess with it at all. As FDC emulation is done in "low level" (USIFAC "speaks" with 765 Floppy controller directly), motor activation is done automatically either by custom loaders or by  AMSDOS disk routines.

eto

Quote from: ikonsgr on 21:59, 24 March 22
Quote from: eto on 21:34, 24 March 221) How do I unload a disk image? A hard reset works, but is there also a command so I will see the contents of the USB stick again?
There is no extra "unload" commmand for dsk images. But if you give:|MG,"  will empty image slot, so practically this is an "unload"  :) .In any case,there is no need to unload a dsk image, you just give a new |MG,"name" command to mount a new image directly! Note also that  you can use |SMG to see current list of all 4 image slots


Quote from: eto on 21:34, 24 March 222) is intended, that while I am accessing the USB drive, that the motor does not stop anymore? I am aware that whenever an operation is done, that the motor will also spin, but currently, when I look at the contents of the USB drive with e.g. a CAT, the motor of Drive A starts to spin and does not stop until I load a DSK image. Only then it stops after a few seconds.
If you are using dsk images, then it's normal to hear Disk motor (if there is a floppy disk insterted of course).

Let me put it another way: Once I loaded I DSK, how can I have direct file access again (e.g. to start the Filemanager again) without doing a hard reset? And MG will not be the best way to deal with it ;-) After |MG," a CAT locks the computer.

Regarding the motor: This is not while accessing a DSK. I know that there it's normal for a few seconds. I am talking about a motor that spins for minutes. This is after switching to USB and then doing a normal CAT. 

  • turn on computer
  • |USB
  • cat
  • motor turns on and NEVER turns off while in this mode
  • once a DSK is loaded, motor turns off after 5 seconds.

I mean in (4) it literally never stops. I just recognised it as I was sitting at my PC when I realised that I hear a buzzing sound behind me, coming from the CPC. The floppy drive motor was still spinning several minutes after I tried out the new firmware. I guess this will eventually kill the drive, if it's accidentally not recognised. 


Powered by SMFPacks Menu Editor Mod