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

dhester and 2 Guests are viewing this topic.

ikonsgr

What about a CPC464 with FW3.15, Basic 1.1 and 320Kb RAM?  ;D

You cannot view this attachment.
You cannot view this attachment.

FINALLY! After many prototype boards and a lot of tweaking with PIC's CLC's (configurable logic cells) i manage to make a "DUAL" mode that offers 256k RAM and 2 Roms at the same time! And the good thing is that it works with all 4 AMSTRAD CPC's i have (3X6128, 1X464), except from the very old cpc6128 (ver.A from 1985) with 200ns RAM chips, which shows video noise when the 512K SRAM is accessed (maybe i need to make ground traces a bit wider to resolve that issue)
This is the final board:

You cannot view this attachment.

As you can see, size is much more compact (~7cmX10cm), and i've added an extra 5V supply connector, along with a jumper that isolates internal 5v supply from Amstrad, so with jumper on, board is powered from CPC, with jumper off, from external 5v psu.
Now,the 3 basic modes of operation (512K RAM/32X ROM BOARD/DUAL 256K+2XROM) are tested and they seem to work properly, i will have to finish the configuration software for roms (rom board mode and dual mode) and also maybe add a 4th mode for loading cpr files.

Audronic

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.

WacKEDmaN


ikonsgr

Ok, i've made rather extensive tests, and i think that ,in general, the board seems to work ok. Let's give a few more details.
As you probably know, "officially" CPC 464 doesn't support RAM expansions (the main "symptom" is that, whenever you write to external RAM, internal RAM is also written on the same address). But this board uses a "hack", in order to function with a CPC464. In 2 words i suppress MREQ signal whenever a write to external RAM is occured. Although this method seems to work in most cases, testing revealed that there might be some games/applications that don't "like" this hack very well, most notably SYMBOS. So, i installed a small switch on the board that enables/disables the "hack", which is useless for CPC6128 anyway.
Now,i suppose the main usage of such board is with a CPC 464, as it enables running games which require 128k ram. Although many games should work that way, there are games that also require to have a CPC6128 firmware and/or BASIC 1.1 too. And this is where the DUAL mode of having 256k ram + 2 roms prooved to be very useful! By loading 6128 FW+BASIC 1.1 roms along with 256k ram, i managed to load quite a few 128k games that didn't work using only the ram expansion,most notably RTYPE 128 (a particular "grouchy" game with USIFAC II and the RAM/ROM board),on a CPC464! Also, by loading AMSDOS (at rom slot 7), you will be able to access dsk images faster, like with CPC 6128, by using |FDC command instead of |464.
Of course, as with all prototype boards, there are still some issues:
- SYMBOS doesn't load with the "hack" enabled.
- On dual mode, RAMTEST by styx gives errors, and also SYMBOS don't load.
- CPR mode, doesn't seem to function.I've tried ALCON and KLAX, and although roms are loaded to SRAM just fine, and everything is set correctly (internal rom is completely disabled, ROM 0 on SRAM acts like lower rom, all other act as upper roms, also USIFAC II is deactivated too, in order to avoid conflict with roms of the ,cpr), still it doesn't work...
- On the very old cpc 6128 rev.A from 1985, having very slow RAM chips of 200ns, i got video noise whenever the 512K RAM is used (there might be a need to further increase ground/5v supply trace widths...).
One thing that needs further investigation is the compatibility with other boards (for example,M4 by duke) and also verify good functioning of EDGE connector & 50pin dual row connector using various hardware too  ( if problems occur, a further increase of ground/5v supply trace widths might also help).
So, for now, anyone who might want to be a "beta tester" (and have a lot of Amstrad hardware  :) ), can contact to send him a  board in a rather lowe price (i only have 5 or 6 available). Also, it would be great if you already have 512K 8bit SRAM chips (i use Samsung's K6T4008-70ns) to cut costs and also test with other SRAM chips too!  ;)

Devlin

Quote from: ikonsgr on 21:11, 25 May 22What about a CPC464 with FW3.15, Basic 1.1 and 320Kb RAM?  ;D

>big image snip<

FINALLY! After many prototype boards and a lot of tweaking with PIC's CLC's (configurable logic cells) i manage to make a "DUAL" mode that offers 256k RAM and 2 Roms at the same time! And the good thing is that it works with all 4 AMSTRAD CPC's i have (3X6128, 1X464), except from the very old cpc6128 (ver.A from 1985) with 200ns RAM chips, which shows video noise when the 512K SRAM is accessed (maybe i need to make ground traces a bit wider to resolve that issue)
This is the final board:

>image snip<

As you can see, size is much more compact (~7cmX10cm), and i've added an extra 5V supply connector, along with a jumper that isolates internal 5v supply from Amstrad, so with jumper on, board is powered from CPC, with jumper off, from external 5v psu.
Now,the 3 basic modes of operation (512K RAM/32X ROM BOARD/DUAL 256K+2XROM) are tested and they seem to work properly, i will have to finish the configuration software for roms (rom board mode and dual mode) and also maybe add a 4th mode for loading cpr files.
Could the thread at this point be split into a new usifac(3?)+ram expansion thread as not to drown out the discussion of usifac2 users?
Amstrad fan! | CPC464 + USIfAC II | Administrator of Amstrad Discord : https://discord.gg/ksWvApv

ikonsgr

Quote from: Devlin on 09:59, 01 June 22Could the thread at this point be split into a new usifac(3?)+ram expansion thread as not to drown out the discussion of usifac2 users?
Well, up until now, it was only a "project on development", that is close connected with USIfAC II. But from now on it might be a better idea to open a new thread about it  :)

shacpc

I have made a pack of games - mostly direct load - for the USIfACC II (fw 6d). It is called LILICPC-USIfACC II Game Launcher and it consists of a replication of almost 3000 games, each one of them having an alphanumeric short code, and which are executed from a USB in FAT32 with a RUN"XXX (XXX the code of the game, without needing to put an extension.) To change the game, we simply press the RESET button of the USIfACC and write again RUN"XXX where XXX would be another code from another game, and so on. Multi-disc games are loaded by disc emulation, which means it won't run directly, disc 1 will automatically open with its file relationship and you'll need to run the launcher file (usually RUN"DISC ). To change discs, open that press the wonderful DSK CHANGE button that Ikonsgr implemented in its latest versions. The games that require the |CPM command are indicated in the list, and after emulating the disk, LILICPC will have to run the game with |CPM

It can be downloaded from the following AMSTRAD POWER telegram channel file repository. There is an instruction file in Spanish & game list in pdf.

https://mega.nz/folder/93pR2KiA#qlkiFakrZhSzmko65EbTWw/folder/pmpEiYBZ

The rar file must be unzipped directly on a USB in FAT32 (min. 2GB in size). In addition, there is a pdf with brief instructions that I will add to and a general list of games with their alphanumeric code.

I will be adding games to the pack bit by bit and improving the project as John (Ikonsgr) improves/expands USIfACC . The pack is perfectly compatible with CPC 464/664/6128. The games that need a minimum of 128K are indicated in the pdf with the list of games.

This pack has cost me six months of time, it has been necessary to go game by game testing each loading system and prioritizing direct loading, which gives such good speed results in USIfACC II. All credits to the authors of the games and to Ikonsgr, creator of USIfACC II.

shacpc /nando

WacKEDmaN

nice job shacpc!..that will save alot of time on the 464...

cant wait to get my hands on a USIFAC II...(need cash!) 
...the ram/rom board for it will be awesome too...i just wish it had some more ram

ikonsgr

@shacpc maybe this project would deserve dedicate a new thread for it!  ;)

Mark_wllms

Quote from: shacpc on 08:29, 09 June 22I have made a pack of games - mostly direct load - for the USIfACC II (fw 6d).

Here's a badly translated version of your manual:

LILICPC, game launcher for USIfAC II

1. You will need . . .
- A USB (preferably USB 2.0) formatted to FAT32.
- Download the latest version of LILICPC from the MEGA repository of the AMSTRAD POWER Telegram channel (USIFAC-II / DIRECT LOAD folder)
- A USIfACC II device, updated with its latest 6d firmware and uploaded to GOOGLE DRIVE Latest firmware release (rev6d): 3/27/2022 / 18F47Q10_6d.

2. Preparing the software and device:
- Download LILICPC on your computer. It is a compressed file in .rar Unzip the content of the file in a folder on your PC, because it is not recommended to unzip directly to a USB.
- In the root of the decompressed file, you will find a folder called GAMELIST and there a file called list.pdf. You can open it or print it, to have access to the alphanumeric code of each game, necessary when loading it.
- Insert a USB 1.0 or 2.0 (not 3.0 due to voltage failure with USIfACC II) and format it as FAT32.
- Copy the content of the unzipped file directly to the root of the USB. It will take a few minutes, given the large number of existing microfiles.
- Once the file copy is finished, we safely extract the USB from the PC.
- We connect the USB to the USIfAC II and turn on the CPC.

3. Game running process:
- Once the CPC is turned on, we proceed to introduce the routine
|USB
And press ENTER.
- We look in the Games List for the code of the program we want to run and type it, for example, we see that a game is 01 Abu Simbel Profanation, because in the CPC we will only write
RUN"01
(it is not necessary to put extension) and press ENTER
and the game would start loading.
- This would be the load in general, both for DSK games that have previously been decompressed as SNA files.
- To exit the game and load another one, simply press the RESET button on the USIfACC II and re-enter another game code XXX with the instruction RUN"XXX
- No need to rewrite |USB

4. Games that cannot be run on direct load:
- There are a number of games (particularly multi-DSK) that do not have the possibility of direct execution. In the list of games they are marked with a (DSK).
- In these cases, we start loading the game with its alphanumeric code, but instead of executing it directly, I have created a routine that loads the first DSK with emulation and does a CAT, to be able to see the files of the emulated disk and execute the DISC. BAS or whichever is appropriate.
- In case of needing to be loaded with a |CPM, it is indicated in the Games List
- In the case of multi-disc, with the USIfACC II disc change button (the black button on the left of the device – see image above) you can change from one disc to another. I have previously programmed those disc jumps for this functionality according to whatever in every game.

5. Notes:
- Open application. The list of games is a particular order for my personal preferences, which can be modified. A list of games has been established that obviously prioritizes games in their Spanish version and with pokes.
- Some time ago I made a tutorial in Spanish to easily update the USifACC II, which is also in the Amstrad Power repository on Telegram.
- USE Manual in progress...

shacpc & ikonsgr v7 april 2022

shacpc

I think the charging system is ideal.  I tried making menus in basic by themes etc, but in 64k everything was slow.  The ideal thing would be to create a program with a basic search for games by words and thus obtain the loading code without having to look at the list of games in pdf, but I don't have time to develop it.  if someone is encouraged to be perfect, this work is open to everyone to improve it.

Fran123

Hello,

I take this opportunity to remind you that there is an application menu for UsifacII and M4. You can find it at 
https://github.com/gallegux/menusi



Any doubt you have, you can ask me about it.

ikonsgr

Quote from: shacpc on 12:46, 09 June 22I think the charging system is ideal.  I tried making menus in basic by themes etc, but in 64k everything was slow.  The ideal thing would be to create a program with a basic search for games by words and thus obtain the loading code without having to look at the list of games in pdf, but I don't have time to develop it.  if someone is encouraged to be perfect, this work is open to everyone to improve it.
Well,if you can provide me a txt output with all the pairs of "code,name", i could make a small windows search utility for it :-)


p.s. The rar file "USIFAC_II_CARGA_DIRECTA.rar" seems to have a problem, it gives me an error when i try to download it.

shacpc

Quote from: ikonsgr on 21:16, 13 June 22
Quote from: shacpc on 12:46, 09 June 22I think the charging system is ideal.  I tried making menus in basic by themes etc, but in 64k everything was slow.  The ideal thing would be to create a program with a basic search for games by words and thus obtain the loading code without having to look at the list of games in pdf, but I don't have time to develop it.  if someone is encouraged to be perfect, this work is open to everyone to improve it.
Well,if you can provide me a txt output with all the pairs of "code,name", i could make a small windows search utility for it :-)
p.s. The rar file "USIFAC_II_CARGA_DIRECTA.rar" seems to have a problem, it gives me an error when i try to download it.
you have it the .txt in the root directory: listadejuegos.txt

although it may be unnecessary...

I have an update with +300 more games that I will release in July-August. what would be appreciated is that if someone detects an error in the loading of a game, tell me by private message, so as not to occupy more posts than necessary about the game launcher, because for me the main topic of interest is the testing and improvements of the usifacc II device.

ikonsgr

@shacpc  Ok, but i can't download the USIFAC_II_CARGA_DIRECTA.rar file, it gives me error (unknown format or damaged file)

ikonsgr

Ok, search engine is ready:  ;D

You cannot view this attachment.
 
You can download it from here: https://www.dropbox.com/s/wrepd7pnl79s7t0/lilicpc.zip?dl=0

 Uppon changing of edit box, it returns all games that include the word you entered. You need to enter at least 2 characters (most of "one char" search, return many 100's of results, so it's useless anyway)

Utility is a simple windows 32bit application, so it should run with all windows versions.
Finally,you can easily update the list, by saving the listado.docx as simple txt file (listado.txt) and put it in the same folder with the program.

shacpc

Quote from: ikonsgr on 14:04, 14 June 22Ok, search engine is ready:  ;D
You cannot view this attachment.
 
You can download it from here: https://www.dropbox.com/s/wrepd7pnl79s7t0/lilicpc.zip?dl=0
 Uppon changing of edit box, it returns all games that include the word you entered. You need to enter at least 2 characters (most of "one char" search, return many 100's of results, so it's useless anyway)
Utility is a simple windows 32bit application, so it should run with all windows versions.
Finally,you can easily update the list, by saving the listado.docx as simple txt file (listado.txt) and put it in the same folder with the program.
fantastic app, john! It works very well! in future LILICPC updates I will include it in the root directory. I think it is the perfect complement to USIFACC II. My intention is to reach 4,000 games before the end of the year.

shacpc

Incorporated to LiliCPC the LiliCPC Search Engine created by Ikonsgr, in addition to new games (and we already reached 3000!)

The pack is now in .7z compression format, because the .RAR has had problems.

https://mega.nz/folder/93pR2KiA#qlkiFakrZhSzmko65EbTWw/folder/pmpEiYBZ

All credits and thanks to the creators of the games and to @ikonsgr, creator of USIfACC II

Devlin

Found an issue with the SAVE command. Fortunately it's not destructive (I didn't lose my original file)
Steps are as follows:

  • Wrote a listing out of a book and saved it normally(as a BASIC file) as "wordgame.bas"
  • Then wanted a plain-text listing, so did a SAVE"wordgame.txt",A - The CPC thinks about it for a while, then it resets, *not* saving the plaintext file.
  • I tried again, using a different filename SAVE"wordga.txt",A and it saved correctly as plaintext.

Saving a file with the same filename, but a different extension seems to confuse the CPC/Usifac2 and make it reset.
Amstrad fan! | CPC464 + USIfAC II | Administrator of Amstrad Discord : https://discord.gg/ksWvApv

shacpc

Quote from: Devlin on 17:03, 19 June 22Found an issue with the SAVE command. Fortunately it's not destructive (I didn't lose my original file)
Steps are as follows:

  • Wrote a listing out of a book and saved it normally(as a BASIC file) as "wordgame.bas"
  • Then wanted a plain-text listing, so did a SAVE"wordgame.txt",A - The CPC thinks about it for a while, then it resets, *not* saving the plaintext file.
  • I tried again, using a different filename SAVE"wordga.txt",A and it saved correctly as plaintext.

Saving a file with the same filename, but a different extension seems to confuse the CPC/Usifac2 and make it reset.
I think Ikonsgr explained it in another post. Save the file with a .BAS or .BIN extension and USIFAC will run it.

Devlin

Quote from: shacpc on 20:32, 19 June 22
Quote from: Devlin on 17:03, 19 June 22Found an issue with the SAVE command. Fortunately it's not destructive (I didn't lose my original file)
Steps are as follows:

  • Wrote a listing out of a book and saved it normally(as a BASIC file) as "wordgame.bas"
  • Then wanted a plain-text listing, so did a SAVE"wordgame.txt",A - The CPC thinks about it for a while, then it resets, *not* saving the plaintext file.
  • I tried again, using a different filename SAVE"wordga.txt",A and it saved correctly as plaintext.

Saving a file with the same filename, but a different extension seems to confuse the CPC/Usifac2 and make it reset.
I think Ikonsgr explained it in another post. Save the file with a .BAS or .BIN extension and USIFAC will run it.
I'm not having any trouble loading the files - they load just fine.
It's just saving the file with a different extension but same filename that causes issues.
Amstrad fan! | CPC464 + USIfAC II | Administrator of Amstrad Discord : https://discord.gg/ksWvApv

ikonsgr

Quote from: Devlin on 17:03, 19 June 22Found an issue with the SAVE command. Fortunately it's not destructive (I didn't lose my original file)
Steps are as follows:

  • Wrote a listing out of a book and saved it normally(as a BASIC file) as "wordgame.bas"
  • Then wanted a plain-text listing, so did a SAVE"wordgame.txt",A - The CPC thinks about it for a while, then it resets, *not* saving the plaintext file.
  • I tried again, using a different filename SAVE"wordga.txt",A and it saved correctly as plaintext.

Saving a file with the same filename, but a different extension seems to confuse the CPC/Usifac2 and make it reset.

Well, actually it's not exactly "same filename with different extension" because using the ',a' argument, file will be saved as ascii text file and not as basic file. :) 
 Saving and loading ascii files take considerably more time than normal bas/bin files (because amstrad access them using fw routines "cas in char" and "cas out char" which read/writes one byte/char at a time...)
Anyway, i try the actions you said and everything worked fine: load a basic file, save it as "wordgame.bas" basic file, and then save it again as "wordgame.txt",a ascii file without problems. Such errors usually have to do with the usb module and the specific usb stick you are using. Try another usb stick and see if this happens again.
btw, which fw version you have? I've tried it with latest (6d), but there might be problems with some older versions, as i recall i correct some issues with ascii files at some point in the past....

Devlin

#847
Quote from: ikonsgr on 21:51, 20 June 22Well, actually it's not exactly "same filename with different extension" because using the ',a' argument, file will be saved as ascii text file and not as basic file. :) 
 Saving and loading ascii files take considerably more time than normal bas/bin files (because amstrad access them using fw routines "cas in char" and "cas out char" which read/writes one byte/char at a time...)
Anyway, i try the actions you said and everything worked fine: load a basic file, save it as "wordgame.bas" basic file, and then save it again as "wordgame.txt",a ascii file without problems. Such errors usually have to do with the usb module and the specific usb stick you are using. Try another usb stick and see if this happens again.
btw, which fw version you have? I've tried it with latest (6d), but there might be problems with some older versions, as i recall i correct some issues with ascii files at some point in the past....
That might explain it then, I'm still on 6c - I'll update to 6d and try it again and see what happens.

UPDATE::: Updated to 6d and it behaves as intended now.
Amstrad fan! | CPC464 + USIfAC II | Administrator of Amstrad Discord : https://discord.gg/ksWvApv

ikonsgr

I just want to inform you that, as i run low in PIC 18F47Q10 MCU chips, i luckily manage to get a good batch from mouser (Microchip gives delivery times of more than 12months...), but at rather higher prices, so when my current stock is over, there will be some price increase of ~couple of euros.

wolfgang

Hi ikonsgr,

is the RAM/ROM board already available for ordering? Can it be used together with an existing USIFAC II, or will there be a version which combines both units in one?

greetings from Vienna

Wolfgang

Powered by SMFPacks Menu Editor Mod