Amstrad CPC WiFi

Started by Duke, 09:36, 07 May 16

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Duke

#1375
The basics of how to use ROMS on CPC and config with M4.

CPC464:
Rom slot 0:   -- This is occuppied by BASIC ROM internally in the CPC, it CAN be replaced with the romboard, but it must be with another BASIC rom!
Rom slots 1-7: -- Free to use
Rom slots 7-31: -- are NOT initialized by the standard system. Use a modified lowerrom (FW316) or booster rom (uploading in a slot below 8 ) to initialize these roms at startup.

It is highly recommended that you put M4 rom in slot 7, this will give you best possible compatiblity with games

CPC664/CPC464+/CPC6128+:
Rom slot 0:   -- This is occuppied by BASIC ROM internally in the CPC, it CAN be replaced with the romboard, but it must be with another BASIC rom!
Rom slots 1-6: -- Free to use
Rom slot 7:  -- Occupied by AMSDOS disc rom internally in the CPC, it CAN be overwritten with ie. parados or other disc rom, if access to disc drive is still wanted.
Rom slots 8-15: -- Free to use
Rom slots 16-31: -- are NOT initialized by the standard system. Use a modified lowerrom (FW316) or booster rom (uploading in a slot below 8 ) to initialize these roms at startup.

It is possible to set M4 rom to 7 for best compatiblity, however you loose simulataneos disc drive & sd card access, if you wish to keep both M4 and disc drive, set M4 rom to 6.

CPC6128:
Rom slot 0:   -- This is occuppied by BASIC ROM internally in the CPC, it CAN be replaced with romboard, but it must be with another BASIC rom!
Rom slots 1-6: -- Free to use
Rom slot 7:  -- Occupied by AMSDOS disc rom internally in the CPC, it CANNOT be overwritten on most CPC6128, with the exception of MC20C (iirc) motherboard. Do not use!
Rom slots 8-15: -- Free to use
Rom slots 16-31: -- are NOT initialized by the standard system. Use a modified lowerrom (FW316) or booster rom (uploading in a slot below 15 ) to initialize these roms at startup.

It's recommended to set M4 rom to 6.

------------
M4 Rom slot:
As for uploading a rom in same slot as M4 rom is set to, it's possible, but it will only be active, if you type |M4ROMOFF.

Lowerrom:
If "Lower-rom enabled", you must upload a lower rom to the corresponding slot or machine will reset/crash whatever.
It is recommended to use ie. slot 31 for lowerrom replacement, because if you decide to disable it, the slot will not be initialized in a normal system config (and lowerrom should not be initialized like a normal rom == crash).

If using a CPC6128 and having problems with game compatiblity it is recommend to use the modified lowerrom for M4 and put M4 rom in slot 6. Get modified lowerrom here: http://www.cpcwiki.eu/index.php/M4_Board
For other machines, simply set M4 rom to slot 7, if you want to use disc drive type |M4ROMOFF

Upgrading Basic v1.0 on CPC464 to Basic V1.1:
Both basic and lowerrom must be replaced or it will not work, download ie. the roms for CPC6128 from here: http://www.cpcwiki.eu/index.php/ROM_List
Upload OS rom to ie. slot 31 and tick "Enable lower-rom" and set it to slot 31.
Upload BASIC 1.1 rom to slot 0.

Hope it makes sense.

Glook

#1376
perhaps wrong section...


i'm just finalized a 3d printed box for the M4 (greaaaaaaaaaaaaaaaaaaat cartridge !!! thanks Duke)










if you want the .stl : here they are !

robcfg

Really nice!


Thank you for sharing the stl files!

HAL6128

...in order to reset the M4 would it possible to have a small cut out over the reset button (fingersize)?
...proudly supported Schnapps Demo, Pentomino and NQ-Music-Disc with GFX

XeNoMoRPH

Thx for Sharing that printed box  :o
your amstrad news source in spanish language : https://auamstrad.es

Glook

#1380
Quote from: HAL 6128 on 15:16, 10 March 17
...in order to reset the M4 would it possible to have a small cut out over the reset button (fingersize)?
you can cut a "fingersize cut out" but it will be very badass look  ;)

i have included a v2 with a Reset Button (and minors improvements) printed in red pla, it's very smart !




enjoy !

XeNoMoRPH

I'm going to print this second version  :D
your amstrad news source in spanish language : https://auamstrad.es

KaosOverride

Quote from: Glook on 09:00, 11 March 17
you can cut a "fingersize cut out" but it will be very badass look  ;)

i have included a v2 with a Reset Button (and minors improvements) printed in red pla, it's very smart !


enjoy !


Very nice box!


Can we get a photo from the side,  attached to the CPC?  Just to know if the card is still on air or rest on the table!
KaosOverride · GitHub
MEGA Amstrad Public Amstrad folder

Takis Kalatzis

Hi @Duke,


I have managed today to upgrade to 2.01 firmware and tried to test the IFCP command. I noticed the following behavior :


My 6128 allows me to set M4 ROM in slot 7. With this configuration, when using IFCP command, I get a "Press PLAY then any key" message and copy does not start.
I tried to change the M4 ROM to slot 6 (without any modified lower rom) and IFCP works as expected.


Is there any way for IFCP to work with M4 ROM set to 7?


Many thanks for the great work you are doing for all CPC users!


Takis

Duke

Quote from: Takis Kalatzis on 14:02, 11 March 17
My 6128 allows me to set M4 ROM in slot 7. With this configuration, when using IFCP command, I get a "Press PLAY then any key" message and copy does not start.
I tried to change the M4 ROM to slot 6 (without any modified lower rom) and IFCP works as expected.


Is there any way for IFCP to work with M4 ROM set to 7?
You could try to upload AMSDOS to ROM 8, it may work. Can't remember if I hardcoded the disc rom number or not :)

Takis Kalatzis

Tested with AMSDOS in slot 8 and it works! Thanks, @Duke!


Should I permanently leave AMSDOS in slot 8 or put it only when I want to use IFCP command?


Takis

Duke

Quote from: Takis Kalatzis on 18:04, 11 March 17
Tested with AMSDOS in slot 8 and it works! Thanks, @Duke!


Should I permanently leave AMSDOS in slot 8 or put it only when I want to use IFCP command?
Good. I think it should work well, maybe in some cases you need more himen, then you can switch it off.

Tolkin

Hy Duke,
i want to leave my feedback on using |FCP when using B: Drive with Vortex Format.
I tried it this weekend and checked the Files again.
The Files are still ok and when i copy then back to Floppy they work as the Orginal Files.
So i think it is working fine.

So now i can start bringing my Vortex Floppys to the SD Card :)

The only thing i have to check on the Disk is, that the Files are not hide (like SystemFiles) or in another User-Area. But it is not a problem.
Before i start copying i use Parados for unhide the Files. I have not tested it with the User but it is no problem to bring all Files to User 0.

thanks for your cool Tool, your perfect Support and angagement :)

Thank you Duke!

XeNoMoRPH

Hi Again , i have now a question about to power M4 Board ... i have M4 Board powered directly from the CPC ... This is safe for my CPC6128 .. ? thx
your amstrad news source in spanish language : https://auamstrad.es

Duke

Quote from: XeNoMoRPH on 14:45, 13 March 17
Hi Again , i have now a question about to power M4 Board ... i have M4 Board powered directly from the CPC ... This is safe for my CPC6128 .. ? thx

I assume you mean using a CTM644 monitor? - Sure no problem. I have mainly used a CTM644 and also a 5V 2A psu. But of course if you have other expansions also, it may be a good idea to use a bigger PSU (ie. 5V 3A).

XeNoMoRPH

Quote from: Duke on 17:25, 13 March 17
I assume you mean using a CTM644 monitor? - Sure no problem. I have mainly used a CTM644 and also a 5V 2A psu. But of course if you have other expansions also, it may be a good idea to use a bigger PSU (ie. 5V 3A).

i don't have monitor .. my CPC it's connect to a TV CRT Sony Trinitron 14" , with this power supply , http://retrocables.es/tienda/index.php?id_product=168&controller=product&id_lang=4
your amstrad news source in spanish language : https://auamstrad.es

Duke

#1391

M4 Firmware v2.0.2 Release version, download here: http://www.cpcwiki.eu/index.php/M4_Board  or use |UPGRADE (if you haven't used v2.0.2 betas).

Changes since last beta:
Another fix for |FCP when copying protected files (thanks Phillipe for reporting and sending the dsk image)
Added SNA support, use |SNA,"filename.sna"

About SNA support, big thanks goes to Arkos for sharing the SNarkos source, from where I lifted Grim's routines to setup GA/CRTC/AY. Thanks !
For now it only supports snapshots up to 128KB, no plus features are or FDC code is setup.
Like SNarkos, 16 bytes of RAM is used to run the snapshots (0xFFF0).

Other than using the basic |SNA rsx, you can also use the Web interface remote run to start a snapshot, or CPC Xfer tool from a PC (http://cpcwiki.eu/index.php/CPC_M4_xfer_tool), in similar way as files are executed now: xfer -x <cpcip> /mysnapshot.sna


Github repo with M4 rom source updated too, if anyone feels like adding more stuff to the SNA loader, feel free ;)
https://github.com/M4Duke/m4rom

EDIT: Forgot to mention, only SNA images without compression supported, so disable this option in WinApe etc (if others even support this), when making a snapshot.

tpenalver


XeNoMoRPH

your amstrad news source in spanish language : https://auamstrad.es

krusty_benediction

Hello,

I'm following the evolution of this card which seems more and more interesting and could replace the multicard combo (cpc/mini)booster/ramcard(or anything like that)/albiero storage with only one card.

booster cards allow to communicate with a PC by sending and reading streams of bytes: so it is possible to send data from CPC to PC if AFT is launched.
Amstrad CPC wifi allows to do HTTP get requests to retrieve files from any web server. However the communication is only in this direction.
- Is it technically possible (I have not seen that in the documentation) to do more complex HTTP requests (i.e. with forms) in order to be able to send data from the CPC to elsewhere ?
- Or is it technically possible to use booster compatible protocols except that the communication is done over ip instead of over serial port ?

I guess (or I hope ;) ) that all the next big CPC demos will all use musical trackloading (of course by directly addressing the FDC without using the firmware). So such demo will not be able to use DSK stored on the SD card of the card.
(Some issues exist for any old software that does the same thing).
Is it technically possible (or the hardware of the card does not allows that) to have an FDC emulator inside the card able to manipulate the DSK ? Using these programs on the cards instead of the real FDC would only consists in changing the communication port. I guess answer is know, but I lost nothing to ask ;)

The documentation states IP address should be static to speed up availability of the card. How long is it by doing DHCP ? Does the connection has to be done after each reset ?

Anyway, @Duke, good job for that.

Duke

Quote from: krusty_benediction on 10:23, 15 March 17

booster cards allow to communicate with a PC by sending and reading streams of bytes: so it is possible to send data from CPC to PC if AFT is launched.
Amstrad CPC wifi allows to do HTTP get requests to retrieve files from any web server. However the communication is only in this direction.
- Is it technically possible (I have not seen that in the documentation) to do more complex HTTP requests (i.e. with forms) in order to be able to send data from the CPC to elsewhere ?
- Or is it technically possible to use booster compatible protocols except that the communication is done over ip instead of over serial port ?

There's pretty much a full tcp/ip implementation that can be used via a socket's like api, examples on how to use it here:
https://github.com/M4Duke/M4examples
Prodatron already wrote a full network driver for SymbOS, making IRC and WGET possible.
It's trivial to write whatever http requests wanted using those or just direct tcp transfer, this completely bypasses the build in webserver.  I guess it's possible to make a booster like protocol, except M4 works in a different way, as response data is stored directly in the M4 ROM (which is really RAM) and not fetched using IN instructions, but you have to switch to M4 rom and ldir it to wherever its needed.
Quote
I guess (or I hope ;) ) that all the next big CPC demos will all use musical trackloading (of course by directly addressing the FDC without using the firmware). So such demo will not be able to use DSK stored on the SD card of the card.
(Some issues exist for any old software that does the same thing).
Is it technically possible (or the hardware of the card does not allows that) to have an FDC emulator inside the card able to manipulate the DSK ? Using these programs on the cards instead of the real FDC would only consists in changing the communication port. I guess answer is know, but I lost nothing to ask ;)
Technically it should be possible to use some other ports and emulate the FDC, infact the gotek drives use a weaker cortex MCU. If I could make it run along side the other things it's doing, I don't know, I don't know much about the FDC, but I think its possible.
Quote
The documentation states IP address should be static to speed up availability of the card. How long is it by doing DHCP ? Does the connection has to be done after each reset ?
I think the DHCP request depends on the Router too, its not that slow, probably a couple of seconds, but with manual IP its basically ready instantly.

Something else a side, I still have 64KB of available RAM on the MCU side, which I am thinking about how to make best use of.
In the current hardware I cannot do RAM emulation along with the other things, however one thing I was thinking about was making 4 dynamic roms, where you can write data using out commands (so writes will be slower) and read as a regular rom.
Or maybe I just save it for now until a good idea pops up :)

Skunkfish

Are you able to implement Multiface style functionality, controlled by the web interface?

Poke addresses into RAM, save memory contents to SD etc...

*dreams*
An expanding array of hardware available at www.cpcstore.co.uk (and issue 4 of CPC Fanzine!)

Duke

Quote from: Skunkfish on 11:22, 15 March 17
Are you able to implement Multiface style functionality, controlled by the web interface?

Poke addresses into RAM, save memory contents to SD etc...

*dreams*
It's a possibility, switch mode via webinterface, trigger NMI and map part of the RAM with needed bootstrap code. But also sounds like a bit work and I am feeling lazy ;) ...

Skunkfish

I will personally put up a Bounty to inspire you to add this functionality....

Once complete I will send you one of the below:







[attachimg=1]
An expanding array of hardware available at www.cpcstore.co.uk (and issue 4 of CPC Fanzine!)

KaosOverride

What is needed for proper ram expansion emulator? Connect RAMDIS? bigger ram onboard? can the test pins be used to attach something and upgrade these V1.0 boards to whatever you change in a V2.0 for ram expansion?  :o


Yes, my vote is for ram expansion. SymbOS is asking for more. Also will be with future software!
KaosOverride · GitHub
MEGA Amstrad Public Amstrad folder

Powered by SMFPacks Menu Editor Mod