General Category > Amstrad CPC hardware

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

(1/79) > >>

ikonsgr:
For a "Quick Start Guide" see at the end of post!

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

 
usifacii_new_small.jpg
(169.18 kB, 815x486 - viewed 1591 times)


* Receive buffer of 3100bytes (~3,5times than of previous interface)
* Serial port speeds of up to 1.065.000bps!
* Full 16bit address decoding,
* AMSDOS and PARADOS ROM emulation,
* 765 Floppy Disk Controller emulation,
* Use a Usb storage device, by utilizing a cheap CH376 usb host module,
* Many RSX commands that offer full access of PC Hard Drive or a usb storage drive, for change/create/delete directories and load/save/delete programs/games (even Ascii files)!

* Incredible loading speeds of up to ~23-24kb/sec (more than 5 times faster ,than a usual speed of a gotek/floppy disk drive)!
* Full read/write access of DSK images of  both AMSODS and PARADOS  formats!
* Access up to four DSK images and choose them "on the fly", to support all multi-image Games!
* Load SNA snapshot files!
* Extra RSX commands to copy files from/to floppy disks,transfer DSK images to floppy disks, and quick Format disks!
* 1kb EEPROM for use as extra memory or for storing/executing your own routines.
* Includes 3 classic games, GALACHIP, PACMAN and KILLER GORILLA!
* Equipped with a reset button and a Pause switch!    
Here is a small presentation of the board using a usb flash drive on a CPC 6128 and Here on a CPC 464!.
(Mind also that it can be perfectly used with CPC 464 too, in fact USIfAC II might be the easiest fastest and cheapest solution for loading games on a CPC464! )

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

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

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

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

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

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

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

 
loader_util1.jpg
(142.5 kB, 614x594 - viewed 1411 times)

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

Also, here  you can find a public list of good games that are tested,and with your help i intend to update it constantly!

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

- Stand alone Board+usb host module (if you have an MX4 or similar board) for  20 euros

- Board+usb host module+edge connector cable for 23 euros

- Board+usb host module+centronics connector cable for 25 euros

All prices include registered/tracked postage!

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

Quick Start Guide:

|HELP: Get a list of all available RSX commands with short descriptions

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

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

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

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

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

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

Update Firmware:

Latest firmware release: 8/6/2021
  18F47Q10_4b: https://www.dropbox.com/s/4umrq6qox22k5tw/18f47q10_4b.zip?dl=0 (for new white boards with dsk swap button)
  18f47q10_2d.zip
(123.51 kB - downloaded 48 times) (for older boards without the extra dsk_swap button)
 
List of updates since initial version (1/12/2020):
-  Update DSK image transfer function (RSX command:|DSK), you can now Copy DSK images to floppy disks from either a PC or usb stick (initial firmware supported  transfers only from PC)
-  Major code optimization in file access speeds on direct mode, resulting in ~20%-25% speed increase!
-  Further optimization in file loading code, witch offers ~2% extra loading speed increase!
-  Some other minor code optimizations which offer a small overall performance boost.
-  Dsk image transfer,now supports practically any format (DATA, SYSTEM, IBM, PARADOS etc), with any number of tracks (up to 80) and any sector size from 512byte up to 4096bytes.Also writing speed to disk, is increased with most images (having 9sectors/track & 10sectors/track,either in sequential or interleaved order)
- No need for performing the CPC 464 Initial procedure after first power up, now Amstrad automatically resets a couple of times after "cold start", and then you can directly give "|USB" command, exactly like for CPC 6128!
- No need to give |USB command after every Reset,but only after Amstrad's initial power up (for ALL Amstrad models, with firmware _3a and newer).
- NEW feature added: Access multiple dsk images "on the fly"! Using the new "dsk swap" button on the new board, you can "round select" up to 4 different dsk images,and be able to load ALL mutli image games/programs/demos!
- Bug fix: File extension was ommited when saving a file with full 8+3 characters (e.g. "filename.bas" was saved as "filename" without the extension)
- Get faster catalogue lists from Usb device (~25% faster on mode 1, and ~50% faster on mode 2, firmware _3 and newer)
- Amsdos/Parados Emulation is now saved into PIC's EEPROM, so Board will always "remember" your choice.
- New ability:choose if you want to Return to Usb device Root directory after Reset, just give OUT &FBD1,66 to enable or OUT &FBD1,65 to disable. Again, board will "Remember" your choice. This could be very usefull if you use the BASIC loader listings mentioned above to load  Games/programs, as after RESET, you will automatically return to Root directory, without needing to give |CDR command!  ;)
- |STAT command now shows Firmware revision and if return2root directory after Reset is enabled.
- Bug fix: When saving a file, Dsk Image name in slot 1, changed to name of saved file.
- Code optimization of Board's Rom assembly code.
- |CD & |CAT arguments, now support lower case letters too.
- New Command: |SNA, for loading SNA snapshot files.
- RSX commands: |SET,|COM,|WIFI,|TER,|GALA,|PACMAN,|KGOR are now executed directly on CPC464, without needing to give "RUN" anymore!
- SNA routine now checks if Amstrad has 64k only, and loads only the 1st 64k ram dump even if snapshot file is for 128k. The reason i did this is because i noticed that the snapshot archive has a lot of game files that are 128k but actually only the 1st 64k iis used, so now you will be able to load most of the SNA files on CPC464 too.
- Minor optimization of  board's ROM code this time:replace "cp 0" with "or A" , reduce the size of hex file by dumping initial zeros of arrays & variables used in routines transferred to RAM.
- Fix a small bug in |format routine- now shows correctly  formatted track numbers.
- Fix a bug in |2PC routine when use the "invert file selection" function.

Quick PIC program Guide:
- You will need a rather cheap PIC KIT 3 programmer.
- Plug the icsp connector from pickit3 to ICSP connector on the board (on some boards might need to solder the ICSP pins) or remove PIC chip from on-board socket, and place it on cheap zif socket.
- Use the MPLAB IPE, (which is part of MPLAB IDE and you can download from here), to re-program PIC (18F47Q10).
After re-programming PIC MCU, you should assign a rom number to the board, by giving: out &FBD2,5 on basic prompt, and then reset.

Finally, Here you will find a very detailed guide for updating firmware made by good CPCWiki member Richard_Lloyd (thanks Richard!)


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

The usb host module is connected easily through the 4 dupont wires (which i will also send you) as follows:
 
DSCN1328.JPG
(112.1 kB, 424x471 - viewed 2681 times)
Board with module attached should look like this:
 
DSCN1329.JPG
(203.26 kB, 826x422 - viewed 2835 times)

XeNoMoRPH:
I am interested in a unit, please :)

Gryzor:
So you can actually run games normally from their files (not dsk images) from the mass storage? At this price it's really good!!! How about compatibility?

ikonsgr:

--- Quote from: Gryzor on 09:49, 01 December 20 ---So you can actually run games normally from their files (not dsk images) from the mass storage? At this price it's really good!!! How about compatibility?

--- End quote ---

Yeap! Exactly that! Practically the usb stick is converted to a huge HDD for your amstrad! And the GREAT benefit of "getting rid" of  the dsk container is... SPEED! Loading is so fast that is actually compared to a rom board, most games load in 2-3 seconds!  :)
Check the small presentation i've made, and see for yourself!
Compatibility is very good too, most multi-file games load just fine, only "drawback" is that you can't load games that use track loaders or non standard amsdos routines. But for these, i developed a floppy controller emulation in order to access dsk images too! So in practice USIfAC II is like having an HDD flash drive disk along with a gotek drive together! ;-)

Gryzor:
Holy cow this sounds beautiful! I want one, please :)

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

I did watch (most of) the presentation before rushing here to post, I didn't see anything about this last part, I now saw it's around the 2:30 mark!

Navigation

[0] Message Index

[#] Next page

Go to full version
Powered by SMFPacks Media Embedder
Powered by SMFPacks Alerts Pro Mod
Powered by SMFPacks Mentions Pro Mod