Amstrad CPC WiFi

Started by Duke, 09:36, 07 May 16

Previous topic - Next topic

0 Members and 4 Guests are viewing this topic.

SRS

Now this was crazy. Did deactivate firewall - not working. Restart PC, log in as admin, check firewall deactivated  - not working
Deactivating antivir - not working.

Then went to Router, where the MAC of M4 was hardwired to its IP (so it would get always same ip). Changed that, restarted router - and it worked !

Now in non-admin user with firewall up and still works. This is just very very weired ...

Duke

@SRS Well good you got it working, whatever the issues was :)

V1.0.2
I put a small upgrade online, primarily for users with BASIC 1.0, I changed the |CD command.
If you just type |CD followed by enter/return, you will see a cursor display below the line, now you can use SHIFT + CURSOR keys and COPY key. When done press enter/return again.
I was fed up with the A$="...":|cd,@A$
Will add it to the other commands too later maybe... (|CD was most annoying as you use it all the time).

Use |upgrade or download v1.0.2 here: http://www.spinpoint.org/cpc/M4FIRM_v102.zip   (unpack to root of microSD and reboot M4)

Maniac

I've now had time to play with the M4 board and work out what does and doesn't work with my 6128 Plus and other hardware. These are my findings. Apologies for the angle of the photos but I was trying to avoid reflections!



Directly connected
Original Burnin' Rubber Cart with or without external power:

       
  • Working in ROM 6 and 7
    [ You are not allowed to view this attachment ]
  • With ROM 6 requires to press f1 to go to BASIC as normal


C4CPC Cart with or without external power:

       
  • Cart select screen works and selecting game carts loads and works
    [ You are not allowed to view this attachment ]
    [ You are not allowed to view this attachment ]
  • Selecting the original cart image just loops round and round boot initialisation in ROM slot 7
    [ You are not allowed to view this attachment ]
  • If M4 ROM Config is disabled and M4 rebooted then boots to normal f1/f2 select screen and BASIC can be successfully go in to.
  • Move M4 ROM Config to ROM number 6 from 7 f1/f2 screen is displayed but only Burnin Rubber works, selecting f1 just causes it to loop back to f1/f2 screen
  • Arnold Diag Cart doesn't report any issues and runs as expected
  • Selecting a cart that includes any version of ParaDOS just loops round and round boot initialisation
    [ You are not allowed to view this attachment ]
  • On occassion it will display 'Press PLAY then any key' prompt which can be broken out of but M4 ROM isn't initialised
    [ You are not allowed to view this attachment ]
    [ You are not allowed to view this attachment ]
  • On occassion it will boot and then go to a black screen and nothing further happens
  • If M4 ROM Config is disabled and M4 rebooted then boots to normal BASIC prompt with ParaDOS initialised
    [ You are not allowed to view this attachment ]


Connected via Mother MX4 board with no external power

       
  • Doesn't work as already established earlier


Connected via Mother MX4 board with external power to M4 only and no other MX4 boards

       
  • Original Burnin' Rubber Cart - results are the same as directly connected
  • C4CPC Cart - results are the same as directly connected


Connected via Mother MX4 board with external power to M4 and with or without external power to Mother MX4 with X-Mem MX4 board also attached

       
  • The M4 board appears to have initialised but the system is unusable with graphics corruption regardless of MX4 slot being used or order of the boards
    [ You are not allowed to view this attachment ]
  • Even if the Mother MX4 is powered the 2 boards don't work when plugged in together
I'm more than happy to try and help with resolving what can be resolved. This isn't a moan at all as I think the board is such a great idea and I love the way I can control my 6128 Plus from a browser. It's all very clever stuff! I am genuinely trying to help.

Duke

@Maniac
Thanks for the comprehensive tests.

It'll be hard for me to debug since I don't have C4CPC nor XMEM.
When M4 rom is disabled in config, all the running code is exactly the same on the M4 board(ie. you would still be able to use the rom board function) except it doesn't try to map the rom containg M4 z80 part (and thus not driving the datalines).
I'll have a think about your post.
If you have the time, it would be useful if you put a regular rom like maxam at ie. pos 14 on the M4 board (and no other rom at that pos in xmem) and disable the M4 rom itself.
Does it boot and will maxam work?


Duke

Also for now it may good to take C4CPC out of the equation and check with only XMEM, since afaik. the CPC+ cartridges maps multiple roms and I don't really how it works.
So if you try with XMEM first and we can figure out what's going on then I can read up on the CPC+ cartridge mapping.

TotO

If the X-MEM conflict is related to the ROM part, you should try to set the jumper to NO for disabling them.
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

dirtybb

Quote from: TotO on 17:54, 11 June 16
If the X-MEM conflict is related to the ROM part, you should try to set the jumper to NO for disabling them.


I tried here but it doesn't work.
When M4 and XMEM both plugged, with XMEM rom jumper set to "No", CPC (6128) reset in loops.

Duke

Is this with external power supply  connected to either M4 or MX4, or using internal power supply ? (just in case)

Quote from: dirtybb on 18:00, 11 June 16

I tried here but it doesn't work.
When M4 and XMEM both plugged, with XMEM rom jumper set to "No", CPC (6128) reset in loops.

1024MAK

Mine arrived today  ;D

Thank you Duke  :D

Alas, I'm busy with real life, so won't have time to test it yet  :(

Mark
Looking forward to summer in Somerset :-)

gerald

Quote from: Duke on 16:45, 11 June 16
If you have the time, it would be useful if you put a regular rom like maxam at ie. pos 14 on the M4 board (and no other rom at that pos in xmem) and disable the M4 rom itself.
Does it boot and will maxam work?
The XMEM (like most oster ROM extension), when connected will drive the bus during access to ROM in they slot range.
ROM access is indicated by ROMEN low and the ROM selection in range 1-6,8-31 (0-6,8-31 in boot mode to override the basic/system ones)
This will happen whatever the content of the ROM is, be it 'empty' or valid.
So when using the M4 with an XMEM the only available slots are slot 7(that you cannot override on a 6128), and slot after 32(not initialised).

The only way to make this work would be :
- remove the ROM device from the xmem so it cannot drive the data bus and create a data contention. The xmem will be act as a RAM extension only.
- or use a MotherX4 like card that chain the ROMEN/ROMDIS so the order of the connector decide the priority of the ROM extension.



About C4CPC and plus ROM mapping  :
- after booting, the C4CPC will behave like a regular cartridge, unless you knock at the uC door via strict order reading within the ROM.
- 32 ROM in a cartridge are mapped from upper ROM slot 128 to slot 160, with slot 128 mirrored as lower ROM, slot 129 as upper ROM 0 and slot 130 as upper slot 7 (or 0, if EXT signal is grounded)
- the cartridge will obey the ROMDIS signal for every slot, so you can mask any ROM with an external interface.

A problem may happen if :
- you unintentionally knock at the C4CPC uC door (4 consecutive read in specific upper rom slot), and try to read/execute from a ROM within the cartridge
- the RAMDIS signal you send is too short and the C4CPC is corrupting the data you send. The ROMDIS sould be as long as the ROMEN, which is as long a the MREQn/RDn signal from the Z80 + the combinatorial delay.



dirtybb

Quote from: Duke on 18:11, 11 June 16
Is this with external power supply  connected to either M4 or MX4, or using internal power supply ? (just in case)
With external power supply connected to MX4.

TotO

#311
To keep the X-MEM features, it should be fine to be able to set the M4 ROM range at 32-63.
So you not conflict and got 1MB ROM available. 8)
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

Maniac

#312

Ok, we have progress! Thanks to Toto I have now disabled the ROM part of the X-Mem and both devices are now plugged in and working as expected. Initially I had the M4 ROM disabled with ROM slot 15 populated with Maxam and it worked. I then enabled the M4 ROM and it continued to work.


Something odd is happening with my Mother X4 though as slot 1 doesn't always seen to work and I end up with a corrupted screen at start-up. After that I can often move things down by 1 slot so slot 1 is used and all if fine again!


Just out of curiosity, and I acknowledge you said to rule this out for the moment, I put the C4CPC back in but the same reboot loop occurred!


Thanks Duke and Toto for the suggestions. If we can now get the C4CPC to work it would be perfect!


Also just a quick note to say that the ROM upload doesn't work properly in Chrome. Even if you slot a particular ROM slot upload button it always puts it in slot 0! Had to switch to IE11 and it worked as expected.

Quote from: Duke on 16:45, 11 June 16
@Maniac
Thanks for the comprehensive tests.

It'll be hard for me to debug since I don't have C4CPC nor XMEM.
When M4 rom is disabled in config, all the running code is exactly the same on the M4 board(ie. you would still be able to use the rom board function) except it doesn't try to map the rom containg M4 z80 part (and thus not driving the datalines).
I'll have a think about your post.
If you have the time, it would be useful if you put a regular rom like maxam at ie. pos 14 on the M4 board (and no other rom at that pos in xmem) and disable the M4 rom itself.
Does it boot and will maxam work?

Duke

@Maniac
Excellent.
I will look into the chrome issue, I only tested with firefox myself.

I think with C4CPC, as far as I managed to understand with an image it will use roms 0-7, so if you try putting M4 after that it may work (although not ideally, but it would prove it's a rom clash with C4CPC).

@Dirtybb
Not sure what the problem is, since we now have two conflicting tests, what CPC you use for the test? (also a CPC+?)

and @TotO
I can easily move the rom range, but all cas_* hooks (for native file I/O) would be overwritten by AMSDOS/PARADOS if not lower, unless there is a method to disable rom 7 in XMEM. Heck I could do an RSX to install the hooks, but something else needs to do the rom walk for roms >7 >15.

TotO

#314

Quote from: Duke on 18:55, 11 June 16I can easily move the rom range, but all cas_* hooks (for native file I/O) would be overwritten by AMSDOS/PARADOS if not lower, unless there is a method to disable rom 7 in XMEM.
The X-MEM is always disabled when ROM7 is set. (physicaly used for the alternate FW)
But, you should install a ROM into the X-MEM lower range for doing your CAS_* hooks, ... (lost one and won 32)
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

dirtybb

Quote from: Duke on 18:55, 11 June 16

@Dirtybb
Not sure what the problem is, since we now have two conflicting tests, what CPC you use for the test? (also a CPC+?)

CPC 6128 Old

Duke

@gerald
Thanks for this very useful post (I missed it earlier).

I'll take the things into consideration and probably make some config changes for users of C4CPC and XMEM, if people want to use it all at the same time.


Quote from: gerald on 18:15, 11 June 16
The XMEM (like most oster ROM extension), when connected will drive the bus during access to ROM in they slot range.
ROM access is indicated by ROMEN low and the ROM selection in range 1-6,8-31 (0-6,8-31 in boot mode to override the basic/system ones)
This will happen whatever the content of the ROM is, be it 'empty' or valid.
So when using the M4 with an XMEM the only available slots are slot 7(that you cannot override on a 6128), and slot after 32(not initialised).

The only way to make this work would be :
- remove the ROM device from the xmem so it cannot drive the data bus and create a data contention. The xmem will be act as a RAM extension only.
- or use a MotherX4 like card that chain the ROMEN/ROMDIS so the order of the connector decide the priority of the ROM extension.



About C4CPC and plus ROM mapping  :
- after booting, the C4CPC will behave like a regular cartridge, unless you knock at the uC door via strict order reading within the ROM.
- 32 ROM in a cartridge are mapped from upper ROM slot 128 to slot 160, with slot 128 mirrored as lower ROM, slot 129 as upper ROM 0 and slot 130 as upper slot 7 (or 0, if EXT signal is grounded)
- the cartridge will obey the ROMDIS signal for every slot, so you can mask any ROM with an external interface.

A problem may happen if :
- you unintentionally knock at the C4CPC uC door (4 consecutive read in specific upper rom slot), and try to read/execute from a ROM within the cartridge
- the RAMDIS signal you send is too short and the C4CPC is corrupting the data you send. The ROMDIS sould be as long as the ROMEN, which is as long a the MREQn/RDn signal from the Z80 + the combinatorial delay.

Duke

Yes, thanks. I will try to figure something out, now I know the issues :)

Quote from: TotO on 19:02, 11 June 16
The X-MEM is always disabled when ROM7 is set. (physicaly used for the alternate FW)
But, you should install a ROM into the X-MEM lower range for doing your CAS_* hooks, ... (lost one and won 32)

||C|-|E||

#318
I was doing some tests with my Plus as well  :) First, the good news: I have the board inserted in a MX4 with X-MEM, X-MASS and Albireo and with my current PSU everything works fine  (I am powering both the computer and the MX4). The other good news is that if I use one of these carts that have the Basic 1.1 and ParaDOS 1.1 (it came with the computer) the board is detected and works well. As discussed in before, when using the C4CPC I do not manage to have it detected. However, power-wise I have no problems at all  :D

P.D: I forgot to tell that, when it works, you obviously lose ParaDOS...

Duke

@||C|-|E||

You have plenty of mass storage on that computer :)  and yes M4 will not work together with other dos roms currently.


Update v1.0.3 (beta maybe, I have not put it online for |upgrade yet, I would appreciate if someone other than me, tests it).

- Romboard part now supports 32 roms.
- You can set romboard start position. Ie. set it 32 and all roms starts from 32, ie. romslot 0 becomes 32, romslot 1 33 etc..
- M4Rom can be set to any rom in position 1-127 (effectively it's now a 33 rom slots )
- Possible fix for C4CPC and X-MEM.

Important before upgrading.
Delete your romconfig.bin and romslots.bin from M4 directory. Keep your config.txt though.

Download:
http://www.spinpoint.org/cpc/M4FIRM_v103.zip   (unpack both files to root of microSD, as both M4 and ESP needs to be upgraded).

When moving M4rom out of position 1-7 / 1-16 it will no longer be initialized, therefore I made a M4 bootrom, which should be placed at rom7 or lower.
This is if you want to use 32 roms of XMEM and map M4 romboard after it. You should program the XMEM or other romboard with M4 bootrom in pos 1-7, it will look for M4 rom from 1-127 and initialize it + pass commands through to it.
Download:
http://www.spinpoint.org/cpc/m4boot.zip




Maniac

#320
I'll try and test this later but I have limited time today due to real life otherwise will take a look tomorrow after work! Thanks for your continued efforts to make it as compatible as possible.

One nice feature I'd quite like to see in the web interface would be the ability to enable/disable ROM slots. Would that be possible please?

SRS

Now just speculating:

could this board be used as mega-copro ? calculation sprites/grafix/mandelbrot and giving cpc access to the results ? If, how so ?

Duke

It's fully possible, but at this point only I can add commands to the cortex m4 side, but say you wanted some command to do a specific calculation I could add it.
Just give it to me in ARM assembler or C code :)

Quote from: SRS on 22:28, 12 June 16
Now just speculating:

could this board be used as mega-copro ? calculation sprites/grafix/mandelbrot and giving cpc access to the results ? If, how so ?

Duke

Thanks Maniac, I appreciate your testing.
And yes it's possible to add a checkbox enable/disable next to each rom, maybe not on top of the list, but a fairly trivial implementation.

Quote from: Maniac on 21:31, 12 June 16
I'll try and test this later but I have limited time today due to real life otherwise will take a look tomorrow after work! Thanks for your continued efforts to make it as compatible as possible.

One nice feature I'd quite like to see in the web interface would be the ability to enable/disable ROM slots. Would that be possible please?

Duke

Also about latest upgrade v1.0.3.
To use roms 8-32 or 16-32 (if mapped at range 0-31) as they will not be initialized by the system, which only initializes 0-7 on cpc464 and 0-15 on cpc664/6128.
There is a booster rom which you can add in the initialized roms (0-7 or 0-15), which will initialize roms 16-32.
For roms above area 0-31 I don't know of any software enabling this for normal system initialization (it may exist?).
You would have to write your own code to make use roms 32+.
Normal rom select will obviously work (sending rom number to 0xDF00 and enabling upper rom in the GA with something like 0x7F86).

Powered by SMFPacks Menu Editor Mod