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.

ikonsgr

 And now something that i think you would love it, especially the CPC 464 owners.....
As i already wrote you, i made a few small basic loaders for the multi image games, in order to save you from placing each image into slot and enabling FDC controller manually.
And then it hits me: Amstrad Basic, can load, apart from basic listings, AND plain text ascii files that contain a basic listing! You can check this if you save into usb stick a basic program, using 'a' attribute (e.g. save"filename.bas",a) and then take usb stick and open it from your pc, you will see that it will give you the BASIC listing!
So, since i already supported ascii files on usb stick, what if i make a small PC utility to expand these small BASIC loaders for ANY game, either in file or dsk image form?
Well, it took me a few hours, but i finally manage to make such a utility and use it to create 100's of loaders for all games in the known list, in a split of a second!  ;)
I uploaded a small zip file here: https://www.dropbox.com/s/cdd59bfubyv9g7f/loaders.zip?dl=0

You can download it and extract all the files into the root of your usb stick. Then, you just copy the "direct load games" folder into usb's stick root dir, and that's it!
Instead of manually using |CD, |MG, |FDC etc commands, you can just run the small basic loader!
Each listing is custom made depending on the specific game form:

- For games in dsk images, it will change directories, mount the image and then either reset using |464 (for CPC 464) or enabling FDC emulation and directly give you a CAT list!
- For games in file form, it will also change directories and give you a cat list, and so you can choose the game loader and run it directly!

The program searches and create Basic loaders, for multiple dsk image files in a single folder, and for files or dsk images in separate sub-folders for each game!
Here is an example:
10 A$="DIRECT~1":|CD,@A$
20 A$="SUBHUN~1":|CD,@A$
30 IF INP(&FBDC)=&83 THEN 40 ELSE 50
40 A$="SUBHUN~1.DSK":|MG,@A$:|464
50 A$="SUBHUN~1.DSK":|MG,@A$:|FDC:CAT


This is the procedure to use SUBHUN~1.DSK image file inside DIRECT~1/SUBHUN~1/ subfolder.
As you can see,i'm using the Basic 1.0 form of loading arguments in RSX commands, in order for the listings to load on CPC 464 too!
You can also see the "smart" selection of actions according to you CPC model! Judging from my quick experience on a CPC 464, this method can VASTLY improve the speed and "Ease of use" for loading games,especially for CPC 464;)
Soon i will upload the utility, for anyone to create loaders for his custom game collections! ;)


 

Audronic

@ikonsgr


Hi John


Tha Zip file (Basic Loader for any Game) on dropbox has been deleted ??


Thanks


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.

ikonsgr

There must be an issue with the [ url  ] [ /url ] tags,anyway i post the link directly now, but you can also get it from the 1st post from user's manual and windows program link too! :)

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.

GUNHED

Quote from: kolleykibber on 17:08, 23 March 21
Well this serial interface comes with a FDC emulator, games and utilities and serves up its own rom. So I guess it must do Rom decoding.
So my question is if I can have bacon with my toaster may I have a beer too? :)
It got few space on chip left! But that's not an unlimited ROM box. So Cheers!  :)
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

ikonsgr

ok,i just finish the small utility:
[attach=1,msg199885]

As you can see, i've include a mini help guide, so, no need to explain anything!  ;)
You can download it from here:
https://www.dropbox.com/s/jk5sgeey2f5zor8/cpc_loader.zip?dl=0

So, if you have a CPC 464 and you got tired of giving all the time:
A$="mplampla":|RSX COMMNAND,@A$ commands...
This utility will definitely..."ease your pain"!  ;)

ikonsgr

Ι have a small request to make:
If you happen to have an Amstrad with custom ROMs or a CPC 664, i would like to give a:
print peek(6)
just after boot, and report me the number you receive.
Standard Amstrad CPC 6128 should give '145' and standard CPC 464 '128', and because i'm using these values to find out the CPC model, it would help me make the code more precise with "custom" models!  :)

Audronic

Hi John


CPC664 Info

THIS has been corrected I misread it to be &78 - Real Value &7B

The rom used is a 40022
The Byte info is :-
&7B   (Hex)
123   (Decimal)


Included is the Rom


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.

ikonsgr

Quote from: Audronic on 22:57, 24 March 21
Hi John
CPC664 Info
The rom used is a 40022
The Byte info is :-
&78   (Hex)
120   (Decimal)
Included is the Rom
Keep Safe
Ray

Thanks Ray! That will definetely help to distinguish CPC 664 from CPC 464 as obviously 664 doesn't need the boot proccess of 464 as it is equipped with Amsdos and FDC ;-)

ajcasado

Hi,
My CPC664 gives a value of 123 (dec).
ROM is also a 40022.
CPC 664

Empiezas a envejecer cuando dejas de aprender.
You start to get old when you stop learning.


kolleykibber

Quote from: ikonsgr on 20:52, 23 March 21
@kolleykibber, well,i don't know if you can call it "rom board", but since the PIC is equipped with 1kb EPROM, i add a few rsx commands to utilize it!
You can load data either from memory or from a binary file directly (|WROM), and then use another rsx command (|LROM) to retrieve the data! You  can also access it in asm code using a simple RST3,&FC00 (on the rom number of USIFAC interface, deafult:5).


Thanks for the explanation.


I'm curious if it would be possible to serve roms from the usb using the ready signal trickery that you mention? Or would it just be too slow? Maybe page in 1k rom data into the memory to reduce reads?


Otherwise i need to get myself an MX4 expansion board!

ikonsgr

Quote from: kolleykibber on 18:25, 25 March 21
Thanks for the explanation.
I'm curious if it would be possible to serve roms from the usb using the ready signal trickery that you mention? Or would it just be too slow? Maybe page in 1k rom data into the memory to reduce reads?
Otherwise i need to get myself an MX4 expansion board!

Well, back at last summer ,when i was developing all the functions of the board,i was planing on making such a thing,e.g. use usb stick to access 16kb rom files as extra roms, but unfortunately, speed and responce prooved to be very slow, comparing to a real ROM, so i decided to abandon it.
To have a measure of it, when you use |464 command to enable virtual amsdos/parados from PIC along with FDC controller on a CPC464, you will notice a significant delay (~50%) in responce of various Disk commands (CAT, LAOD ,RUN, SAVE ) compared to that of a CPC 6128, where no AMSDOS/PARADOS emulation is done (and FDC emulation gives slgihthly faster responces ~10-20% than with a real gotek/disk drive). Now imagine that a ROM emulation from a file accessed from a usb stick, will add extra overhead+delays, so in theory a virtual "Rom board" can be done, but in practice , responce will be so slow (i guess it will be at least ~15-20times slower than a real rom) that it will have no practical use  ::)

ikonsgr

Quote from: ajcasado on 12:41, 25 March 21
Hi,
My CPC664 gives a value of 123 (dec).
ROM is also a 40022.

Thanks for noting. What Basic version CPC 664 has? v1.0 like cpc 464 or v1.1 like cpc 6128?

ajcasado

Quote from: ikonsgr on 21:24, 25 March 21
Thanks for noting. What Basic version CPC 664 has? v1.0 like cpc 464 or v1.1 like cpc 6128?


Basic v1.1 like the 6128, but the basic rom is different.


RetroVirtualMachine emulator also gives 123.
CPC 664

Empiezas a envejecer cuando dejas de aprender.
You start to get old when you stop learning.

Audronic

Hi John


Corrected the ID  Byte to 7B I had read the Hex incorrectly  Grrrr


also a Photo of the USIfAC II and Voltmeter Hmnnnn


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.

ikonsgr

That's surely ok. I'm using mine, with ~4.4volts at Usifac's power pins and works perfect!  ;)
Btw, in most cases  voltage drop from ~5volts (usually given from a 5V PSU), happens when you use extra power leads, obviously due to the extra small impedance of the power cables. 

ikonsgr

Quote from: ajcasado on 00:46, 26 March 21
Basic v1.1 like the 6128, but the basic rom is different.
RetroVirtualMachine emulator also gives 123.

Do you have a USIfAC II board? And if yes, did you test it with a CPC 664? As far as i can remeber, i never had any feedback from someone with CPC664...
But then,CPC664 owners its kind of a... "rare spiece"  :laugh:

issalig

Quote from: Audronic on 04:55, 26 March 21

also a Photo of the USIfAC II and Voltmeter Hmnnnn

Inside CPC, the voltage drops around 0.3V.
I am using a 5.2V dc power supply (from an old PDA) which results in 4.8V-4.9V.

An option could be sth like this https://aliexpress.com/item/32996444485.html

ajcasado

Quote from: ikonsgr on 12:27, 26 March 21
Do you have a USIfAC II board? And if yes, did you test it with a CPC 664? As far as i can remeber, i never had any feedback from someone with CPC664...
But then,CPC664 owners its kind of a... "rare spiece"  :laugh:
Yes, I'm the one that sent you a PM when corrupted the PIC flash switching the usifac off and on with the MX4 motherboard PSU switch ( :picard: again). I reprogrammed it and works ok.

About being a rare species, I guess that my 664 could be the only one working in mainland african continent so definitively yes  :P .
CPC 664

Empiezas a envejecer cuando dejas de aprender.
You start to get old when you stop learning.

kolleykibber

Hi @ikonsgr


I continue on my investigations with your interesting piece of kit!


I've bought a few ESP-07s and have tried them on the board. But if I call |WIFI I get 'NO WiFi module detected!'.
I have a cpc6128, the ESP-07s are switched to UART (I tried program too!).
I've tried |USB on and off, before I call |WIFI. I've used the ESP-07 reset switch, before the RSX.
If I call |WIFI a second time the system crashes.
The ESP-07 is connected correctly (GND to GND) and the lights come on and you can hear the wifi signal pulsing through the CPC's speaker.
I've tried different ESP-07s


Am I doing something wrong?


Thanks!




ikonsgr

First, usb host module MUST be "off", when using Wifi modules so definitely you DONT enable it using |USB.
Also, mind that wifi modules can draw a lot of current (up to a few 100's mAmps) so they need a decent power supply that can hold at least 4.7-4.8volts on power pins of  USIFAC board.
Now,i would suggest first, to try communicate with module, using a PC terminal and a usb2serial cable, just to see if module is ok. Wifi modules usually have 115200  as default serial speed.
Then try to set USIFAC's serial port speed at 115200 using |SET command and then try |WIFI.
You can also use the small terminal i have,|COM, in order to communicate manually with module by giving AT commands.

Judging from my experience with Wifi modules,i would say that they  are a bit "picky" at boot, you need to let them a few seconds to boot before trying to communicate.
Also, they don't seem to be very reliable either, i have an esp-07 and an esp-01 module that worked perfect a few months ago, but when i try to use them a few days ago, one was not responding at all, and the other, was not able to connect to the TCP server of the windows utility! I even tried to reflash them but with no success....


issalig

I do not know how do you power the ESP module  but it should be powered with 3.3VFrom the photos of usifac (still waiting for mine, pls postman hurry up) I cannot see the 3.3V the regulator in usifac board.
If there is no 3.3V on usifac you could get it from the regulator of the usb board.
Also TX/RX lines for WIFI module should be 3.3VFrom the ESP side TX could probably be like it is (3.3V) and the microcontroller will read 3.3 has HIGH.  For RX a simple resistor divider R1=10k R2=20k would convert it from 5V to 3.3V

ikonsgr

Quote from: issalig on 00:50, 27 March 21
I do not know how do you power the ESP module  but it should be powered with 3.3VFrom the photos of usifac (still waiting for mine, pls postman hurry up) I cannot see the 3.3V the regulator in usifac board.
If there is no 3.3V on usifac you could get it from the regulator of the usb board.
Also TX/RX lines for WIFI module should be 3.3VFrom the ESP side TX could probably be like it is (3.3V) and the microcontroller will read 3.3 has HIGH.  For RX a simple resistor divider R1=10k R2=20k would convert it from 5V to 3.3V

There are "5v adapter boards" where you can use esp-01 modules without problems.Also esp-07 can be used directly with 5v supply, i note this in user's manual:
[attach=1,msg199981]

I'm using these wifi modules for years (since with 1st USIfAC board) and never had any problems, most probable all the extra circuits that required for esp modules to be "5v tollerant" are on these adapter boards.  :)

issalig

 :) Yes, these modules look good (1117 regulator for power and transistors for RX/TX signals) . I thought you were using normal 3.3v modules.

Powered by SMFPacks Menu Editor Mod