But but but.... where this treasure come from???? and why we didn't know nothing!!!! ;D
I haven't done a strict cost calculation, but I think it would be about 40 euro + shipping, so a bit high, but I have to pay 25% vat of the amount.Have you thought about using the MX4 connectors that Toto established? For those that don't have an MX4 a cable can easily be made with edge or d connector.
This is without cable, the connectors are pricey, but I could make a version with edge connector on the pcb, so it plugs directly into the CPC (none plus and schneider with centronics).
This is totally crazy :oThanks, if I get a feeling that atleast 10 people are interested, I'll source the components for those and see how it goes.
@Duke (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1624)
Quoted from your page :"If enough are interested, I will run a batch + it’ll motivate me to finish and polish things up."
I'm interested in 1, you can count me in.
Well I didn't tell about it, because I wasn't sure if it was going to be possible (getting rom mapping to work was horror!) or if I would give up on it :)About the sd card, what is the file system ?
The rom that makes it possible is one I wrote, it's loaded into the RAM of the MCU and currently mapped as rom7 to replace AMSDOS (more game compatiblity, when loaders disable other roms and re-enable only rom7). It's just a tiny hook of the CAS_ routines and some code to communicate with the M4, of course some RSX commands too.
However it can run as another rom as well (ie. rom6), as it doesn't have any real disc routines yet, that is needed if one wants to access real discs.
:o Excelent workYes that cable will do, atleast as far as I can tell. The pinout order of M4 board matches the PlayCity board picture I just looked at in the wiki, that is designed for MotherX4.
Please add me to the list.
And i have also a 464 for testing without m4 cables.
Find me a way to connect it and i take it today !
or with cable on the right can work?
MotherX4 Main Board (http://www.centpourcent.net/store/p1/MotherX4_Main_Board.html)
Yes that cable will do, atleast as far as I can tell. The pinout order of M4 board matches the PlayCity board picture I just looked at in the wiki, that is designed for MotherX4.Yes but with the edge connector directly on the PCB it will work on 6128 and maybe on 464. What about 6128 plus i also have? Maybe it came as it is and i will buy 2 cables from cent pour cent, one for 6128/464 and one with centronics for 6128 plus.
I might do a version, with a Card Edge connector directly on the PCB, so it's direct plugin without cables.
I think we need a production run of these.Yes, I'll order components soon to build up enough boards for those interested. It'll take some weeks (china!) for all parts to arrive before I can start assembling boards.
I would be interested in one. Would there be any software with it though and an idiots guide on how to use it? I only ask, as unfortunately I never got round to learning how to program/write software on my 46 or 6128 :doh: :-[ :( Also would it be possible to make it MX-4 board compatible at all?I'll document the commands, when they are final for release version. No need to be a programmer to use it. Just check the video, normal basic commands and some RSX commands.
This looks very promising! Well done..
Is it possible to use wifi card for other uses -like use a wifi printer or connect to my dsl router??
I'll document the commands, when they are final for release version. No need to be a programmer to use it. Just check the video, normal basic commands and some RSX commands.
Needed software embedded in to the flash memory of the board. You shouldn't need anything else.
It should work with MX-4 Board. If it'll work with other expansions plugged, I don't know, it might not.
Thanks for the reply Duke. Sounds easy enough for me to use then... lol. What software would I need to flash the memory of the board and how would I flash it there? I have a X-Mem board if that's any help?
Nothing extra is needed, you just setup the board to connect to your local wifi (router or app) via a basic RSX command or you can copy a config file to your microSD card and insert it to the slot on the board (microSD card is required).
After that you can either upload games/files/roms via the web interface. The M4 board will host a small web server, you just type the netbios name or ip number into your browser.
Of course you can also just put the microSD card into your PC and drag .DSK files etc to it and pop it back into the M4, reboot it... Cat, Run etc..
Edit: to upgrade the board itself, when newer firmwares are released, there's also an upload function for that, or you simply copy it manually to the sd card, reboot and it'll upgrade.
Here's the current config file, it's stored as m4/config.txt:
ssid=dd-wrt
pw=hackaway
name=CPC6128
dhcp=1
ip=0.0.0.0
nm=0.0.0.0
gw=0.0.0.0
dns1=8.8.8.8
dns2=8.8.4.4
Set dhcp = 0 to use manual IP config. The same settings are changed/made when you use the rsx command from basic |netset,"ssid=xxxx, pw=yyyy etc..".
More stuff wil go into this config file, like m4board rom number.
Roms have seperate files, which aren't easily editable (but possible) from PC, they are meant to be uploaded via the web interface, possibly I'll add an RSX command for it aswell.
They will be flashed into the flashram of the Cortex M4 MCU. It has 1 MB flash, so plenty of space. It could easily have 32 roms, may expand it later if desired.
Well... I had a project to connect an STM32 an CPC expansion bus for some usage (but not WiFi), this board can probably do the trick on the hardware side :P (Less work for me ! Nice !)
I will take more time to analyze the thing but for the moment just some few thing:
First thing first, i don't really like your routing but, well "artistic" divergence :)
But I am really concerned about the crystal, I think they are far from the MCU (I already had some problem with crystal on other MCU of the STM32F familly).
And I really don't see a lot of decoupling cap around the MCU and the ESP8266, and you said you have component on one side only ?
(And the whole card really missing a "big" cap of ~100µF)
And last thing. The F405VG is cheaper than the 407 (~2$ less) and compatible and a pure drop-in replacement. The two thing missing are just the Ethernet MAC and the Camera interface, both unused for this application.
Not decided yet if I'll fit the 32k RTC clock for final version, since it could just use ntp.
What is the 32k RTC? Does it have 32K of static memory attached?
+1The double reset is because when the board is powered (by the cpc), the cortex needs a little bootup time, to read config from microSD, init the ESP8266 etc.
Also:
- What's up with this double CPC reset? (As seen in the YT video) Is it temporary or does the final board will do that as-well?
- Could it be possible to configure the integrated ROM-board to use a different mapping range (eg. slots 32-47, 48-63 or whatever, instead of 0-15) in order to play nice with existing ROM-Boards? (esp. the X-MEM)
What is the 32k RTC? Does it have 32K of static memory attached?
@Duke (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1624): Just two questions regarding driver development on CPC side:
- is it possible to low level access the SD card (reading and writing sectors directlly)?
- is it possible to access the ESP8266 in a way, that the CPC can send and receive TCP and UDP packages (multiple sockets/connections)? Are there any buffers for incoming and outgoing data on hardware side?
CU,
Prodatron
Two quick remarks. In your sendloop code, you can safely remove the ld a,d:cp #0 and you might want to check the outi instruction too. Also, the I/O address #FFxx is already used by the CPC-Booster (http://www.cpcwiki.eu/index.php/CPC_Booster) but this shouldn't be much of a problem imo, since your WiFi card will most likely supersede it anyway :)Thanks - My z80 skills are rusty, not having used it since 1991 :) - For the ports, they may not be final choice yet.
If several revisions of the M4 firmware are made, is there any way the CPC can detect which version is currently available? (eg. to avoid invoking unavailable commands). Oh, and Hurray! for open-sourcing everything too! (yes, you will open-source everything [calm voice and Jedi hand trick]).
@mr_lou (http://www.cpcwiki.eu/forum/index.php?action=profile;u=96)
I have ordered some right angle pcb edge connectors. I'll have to see them before I am sure if they can be used for the cpc.
The idea was to make a mini pcb (ie. expansion port length x 2 cm) with edge connector for the cpc expansion port in one side and a idc connector in the other side, this could then be either right angle to lay flat with the table or non angled, so it will standup like ie. ddi interface.
This way users can have their own choice, use motherX4 or cable or use the edge connector to idc connector pcb if they have non centronics cpc.
Lets see how it goes.
About the HxC, this device cannot replace it, as it cannot act as FDC controller, so all games that use custom disc loading (most copy protected discs) talking directly to the FDC will not work. A proper cracked version is needed if it can be found and I have tested quite a few cracks that still have direct FDC loading code.
I hope i am not too late, but i would love one of these as well. So count me in :)
You are not too late, but be prepared it may be a long process, I don't know how long it will take to assemble all these boards... I am the pick and place machine and manually soldering connectors, correcting shorts on the chips etc. And parts are still many weeks away.
Anyway when I am a little further with things I'll update on the process.
You are not too late, but be prepared it may be a long process, I don't know how long it will take to assemble all these boards...
It would be ridiculously great to have a cool IRC client for the Amstrad that works straight from BASIC :D
Now that you mention it... I moved to PiRCH at some point, but I did not remember it at all :laugh:
@mr_lou (http://www.cpcwiki.eu/forum/index.php?action=profile;u=96)About fdc loading can be byapassed through cpc compactages versions but he dont have all games of course
I have ordered some right angle pcb edge connectors. I'll have to see them before I am sure if they can be used for the cpc.
The idea was to make a mini pcb (ie. expansion port length x 2 cm) with edge connector for the cpc expansion port in one side and a idc connector in the other side, this could then be either right angle to lay flat with the table or non angled, so it will standup like ie. ddi interface.
This way users can have their own choice, use motherX4 or cable or use the edge connector to idc connector pcb if they have non centronics cpc.
Lets see how it goes.
About the HxC, this device cannot replace it, as it cannot act as FDC controller, so all games that use custom disc loading (most copy protected discs) talking directly to the FDC will not work. A proper cracked version is needed if it can be found and I have tested quite a few cracks that still have direct FDC loading code.
About fdc loading can be byapassed through cpc compactages versions but he dont have all games of courseYes, also back in the day there were many cracks of the same games, some better than other, but I think they are hard to find nowadays.
This advancement places the cpc range in the XXI century finally... Connectivity is what better defines a modern computer... This is an important to re-establish its functionality and leave temporary the computer museum...
No doubt that I am also interested in one board Duke! Congratulations!
About the HxC, this device cannot replace it, as it cannot act as FDC controller, so all games that use custom disc loading (most copy protected discs) talking directly to the FDC will not work. A proper cracked version is needed if it can be found and I have tested quite a few cracks that still have direct FDC loading code.
Probably a silly question but I don't mind... I'm quite well known for being clueless. :-) Wouldn't it be possible to mount a .dsk on the PC, emulate the FDC also on the PC side and send the "read" data via Wifi to the CPC? Ok, going back to my abacus now. :-)In theory it's possible to emulate the FDC directly on the M4, not the PC as there is too much latency for that going via wifi.
Yes I will need a way to get in touch, once the boards start shipping. So Jomicamp (http://www.cpcwiki.eu/forum/amstrad-cpc-hardware/amstrad-cpc-wifi/msg126358/#msg126358) please sign up in here or leave a message on my site with your email.
I don't think requests from non-members can be taken into account man...
Anyone have an idea for a detection mechanism?Well, you could use the system's TIME value which is zeroed when the Firmware initializes itself. And its value when the Firmware begins to walk through all the ROMs is still somewhat "little". I think it might be better than some sort of checksum, but still is a fuzzy detection mechanism.
; Get TIME pointer depending on the Firmware version
ld hl,&B8B4+3 ; v2+
ld de,&B184+3 ; v1
ld a,(&BC1E)
cp 169
jr nz,$+3
ex de,hl
; Check the TIME value
ld a,(hl)
dec l
or (hl)
jr nz,quiet
dec l
ld a,(hl)
cp 2
jr nc,quiet
; TIME < &00000200
; Assume we've been called during system initialization
; Display some fancy boot message here
; ...
quiet
; TIME >= &00000200
; Assume we've been called manually by some program
; Do not print anything to screen
; ...
Well, you could use the system's TIME value which is zeroed when the Firmware initializes itself. And its value when the Firmware begins to walk through all the ROMs is still somewhat "little". I think it might be better than some sort of checksum, but still is a fuzzy detection mechanism.
The detection routine would be something like this:Code: [Select]; Get TIME pointer depending on the Firmware version
ld hl,&B8B4+3 ; v2+
ld de,&B184+3 ; v1
ld a,(&BC1E)
cp 169
jr nz,$+3
ex de,hl
; Check the TIME value
ld a,(hl)
dec l
or (hl)
jr nz,quiet
dec l
ld a,(hl)
cp 2
jr nc,quiet
; TIME < &00000200
; Assume we've been called during system initialization
; Display some fancy boot message here
; ...
quiet
; TIME >= &00000200
; Assume we've been called manually by some program
; Do not print anything to screen
; ...
push hl
ld hl,16
add hl,sp
ld a,(hl)
cp #2e
jr z,ok464
cp #2b
jr nz,nosign
.ok464
inc hl
ld a,(hl)
cp 3
call z,signon
.nosign
The code ParaDOS uses to enable/disable the message is:Code: [Select]push hl
ld hl,16
add hl,sp
ld a,(hl)
cp #2e
jr z,ok464
cp #2b
jr nz,nosign
.ok464
inc hl
ld a,(hl)
cp 3
call z,signon
.nosign
Can do it too, got a Schneider or two somewhere, though @robcfg (http://www.cpcwiki.eu/forum/index.php?action=profile;u=4) was quicker :)Thanks, yeah @robcfg (http://www.cpcwiki.eu/forum/index.php?action=profile;u=4) is getting the one in the picture.
Damn, how luxurious is it to say you don't need the battery because you do NTP lookups :D
Can it be made MX4 compatible?
I need a volunteer for testing this board that has a CPC464 and want edge connector. Think I can ship it out after the weekend.Thanks, if Gryzor doesn't want it, I'll pm you.
i have a Amstrad CPC464 also and i can test it. PM me for the second board. ;D
Thanks, yeah @robcfg (http://www.cpcwiki.eu/forum/index.php?action=profile;u=4) is getting the one in the picture.
I have another board almost ready (maybe one more over the weekend), but only have the card edge connectors right now (schneider is centronics only, isn't it?).
I don't have shrouded idc connectors needed for mx4 / cable yet.
If you want the second board let me know, but if you prefer shrouded idc connector for mx4 / cable wait for that instead. Since robcfg will verify if it's good on cpc464.
Prices are 40 euro for the board + 3.5 euro for card edge connector and 3.5 euro for shipping to most of europe.
Thanks, if Gryzor doesn't want it, I'll pm you.i will take it :D
i will take it :D
a question for everyone please. I have a cpc plus. but with no cartridge. Can this board work without cartridge on plus (first of cource i need adapter) to load basic etc ??
I also have a (danish) CPC464.
But, does there exists an edge connector with a 90 degree turn so that the board doesn't stick out that much to the back but rather sticks upwards instead?
Converter Centronics to Card for CPC series, 16,95 € (http://www.spielquader.de/Converter-Centronics-to-Card-for-CPC-series)Yes the Centronics expansion ports are the same on Scheineder CPC and Amstrad PLUS.
one question, this adapter works for plus? and the centronics of schneider and plus is the same?
if i buy this i can connect wifi modem? to my plus?
Toto how i can connect without adapter? Also the adapter seems availiable on the site.If you are speaking about an existing board with an edge connector, yes you need an adapter.
@Duke (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1624)
What have you named the Board / Project ??
M4 or something else.
Or perhaps "" The Ultimate ""
Thanks Ray
Very uncreative I just call it M4 board :) -At the time I thought I could use it for something else if the CPC part didn't work out, so guess I am stuck with M4 !
Nah I think it's too late for name change, besides it is printed on the PCB and they are ordered :)
How about a community poll to choose a cool name? This expansion is really a big deal :o
Now.. One question. When can we order the boards? I'll take 2 please.I already have you down for 1 board :) - Changed to 2 now.
Hi guys,
I have hacked together an expansion board for the CPC, letting it connect to your home router/accesspoint via WiFi.
It also features a romboard and sd card for file access.
It's a bit rough at the moment, but the basics do work.
Please check it out (video included) at:
spinpoint.org – Duke's tech ramblings… (http://www.spinpoint.org/)
Let me know what you think - Any use, or plain madness :) - It was fun doing atleast.
Oh yes I've only tested on CPC6128. And briefly on a CPC6128+ (it works on the plus, but burning rubber fails to launch, probably sortable romconflict).
It should work on 464 and 664 too, but not tested yet.
Regards,
Duke
Excellent work! Congratulations!Thanks :)
One question: Do you need a PC to run this board? Or can it be used independent of the PC?
And I would buy two of this nice boards too please. Add me to the list. :)
As pelrun said its the 32768 Hz clock for the internal RTC in the Cortex MCU, reason I may not attach this nor the battery backup, is that with internet it could just do ntp time lookup and retrieve the clock from there. I haven't looked into this yet, but I think it should be easy enough.
It's fully possible, but the battery slot I used CR1220 is hella expensive, and the batteries too(+3 euro). However if anyone want to add it, board is ready for it so just solder it on (clock, two caps, 1 resistor and battery slot). I'll add auto detection for it, in the m4 software if desired :)
A real RTC would be great especially if the network connection can not be established. Don't know how much hassle it would be to add it. But if it's doable without a problem if would be nice to have it. :)
Thanks :)
Long answer:
You only need a CPC & microSD for the plain board to work.
For internet you will obviously need a AP/WiFi router.
For uploading ROMS to the board you will at this point need a PC (webbrowser), but later I will just add a |setrom,"romname",slot (trivial issue). Someone could already modify the "romconfig.bin" and "romslots.bin" from the cpc to enable a new rom.
Short answer:
No PC or external software is needed to run the board.
This is on my todo list to add a simple RSX for it, eitherway as it is now under folder m4 directory there is two files present.
Thanks for your long answer. :) If there is a way to update / flash ROMs from the CPC side then please let me know (pm me if you like), so I can add this functionality to my ROManager application which does already support MegaFlash, FlashGordon, Symbiface2 and X-MEM. Would be my pleasure to help. :)
Ah, I got it. You keep the ROMs in a file on the SD card. And as soon as the M4 boots up this file will be flashed temporarily to the Flash on the M4 card.Yep almost, it will not be flashed temporarily but permanently, until there is a change of status in romconfig.bin. Flashram will keep the contents until erased and/or replaced.
EDIT: 32 ROMs would be IMHO really needed. 48 even a big gain. :)
M4? Why M, why 4?
'Cause we already got the MX4, it might be confusing.
Oh, and regarding I/O ports it would ne neat if the card can use unused ports or ports which are only used by expansions which are not widely spread. You can look it up here:Missed that, yes for release 1.0.0 I picked:
I/O Port Summary - CPCWiki (http://cpcwiki.eu/index.php/I/O_Port_Summary)
Maybe, I haven't seen a whole lot of use for it, but as it is the STM32F407VGT I am using, has 1MB flashram, and currently I use less than 128KB for code, so 768KB left / 16KB = 48 roms possible, but then again a little space for future features is nice, so probably 32 roms is more safe.Yeah, 32 is totally fine. :) :) :) (16 are filled up sooo quick).
DATAPORT .equ 0xFE00Good pick! I guess the four owners of the CPC-ISA will forgive us for this choice! ;) I also looked up my documentation and can confirm that there is only CPC-ISA (DMA port).
ACKPORT .equ 0xFC00
Only used by CPCISA (as far as I can tell), with 4 in existance. I needed the straight ports for arm assembly optimization.
With some rom magic wouldn't it be possible to use dxs's real time clock board for this purpose? Apologies if my question doesn't make sense.
A real RTC would be great especially if the network connection can not be established. Don't know how much hassle it would be to add it. But if it's doable without a problem if would be nice to have it. :)
Because the heart of the board is a Cortex M4 mcu ;)
You sure you don't want to think about it again?Call it "Cortex" if you want... ;D
X68000:picard2:
With some rom magic wouldn't it be possible to use dxs's real time clock board for this purpose? Apologies if my question doesn't make sense.
Both RTCs are different, but as Duke pointed out before, just add a couple of capacitors and a battery and you got it. Supporting software is another topic.
BTW: Just a question... IMHO it would be great if the M4 board could be bought with RTC installed as option. I wouldn't mind to pay more for it. (That way I could also easily add support for FutureOS I guess). However depends what others think. :)
Today I received the very nice MX4 mainboard + cable from Toto (thanks a ton!)Great! 8)
Great! 8)
Please, is the final board should be 8x5cm sized to perfectly match with the others? ;D
M4 is a nice code name. X-CORE should be a nice product name. :-\
(By the I don't remember if I say I want one when we discuss by mail... Even just the PCB unsold we just the GTL2000 and the .hex firmware it's ok for me :P )
RTC
I will consider offering the parts mounted, just be aware it's not supported in current software, so that's something I will need to add.
Generally I was thinking most people have net connection 99% of the time, so ntp lookup should be excellent. Maybe it's not the case all over europe, so I guess it makes sense for traditional battery backup.
Has anyone started working on an IRC client yet? :)Oh i'd love to be back in the CPC irc, oh and how about a newsgroup client lol ;)
Does this mean the CPC IRC channels will finally get more visitors now? 8)
With tongue in cheek "" M4 "" sounds like a Freeway or a main road somewhere.To me it sounded more like a reference from the Messier catalogue (https://en.wikipedia.org/wiki/Messier_4) or ... to a tank :)
To me it sounded more like a reference from the Messier catalogue (https://en.wikipedia.org/wiki/Messier_4) or ... to a tank :)With a smile on the Face---
To me it sounded more like a reference from the Messier catalogue (https://en.wikipedia.org/wiki/Messier_4) or ... to a tank :)
@Duke (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1624): have you made a list?
I would like 2 of them with MX4 connectors, how do we order?
I should be wrong, but except if I'm blind, I don't see anywhere the final price. ???
Just in case... Is it OK for you to reorder PCB/parts for peoples that are "interrested" but should be disengaged if not OK?
Here's the adapter pcb I made for edge connector to mx4 type at a 90 deg angle with classic passthrough.Looks Good
If anyone wants one with their board it's 7 euro assembled, and 6 if you solder the connectors on yourself.
Hi, great i'm on the list, i should have specified i'm interested in a MX4 format.
Also, is it possible to have i Build-It-Yourself kit ? i like to build thibngs myself, and also it will save you time (and maybe i will receive it sooner ;D )
Duke, i want a M4 Board with Edge connector plus Adapter PCB assembled. Thanks.
Hi, here the same: #3 on the List ;-)
Because of CPC6128 please with MX4 for me - thanks!
Just to avoid any misunderstandings:
Regular CPC has edge connector. CPC+ and Schneider CPC have centronics connector.
If you have a regular CPC (not plus or schneider) you will need Edge connector.
I have a regular Amstrad CPC 464 without add-ons.
In that case you will need M4 with edge connector, unless you want to buy Edge cable/mx4/adapter pcb.
Hi, here the same: #3 on the List ;-)
Because of CPC6128 please with MX4 for me - thanks!
Then this is the right one (for my CPC6128 with Mother X4): :-)
M4 with MX4 connector
btw: Would be nice if everybody gets one first, and then after that, everybody get's the 2nd board. So in my case I ordered two, I'm fine with getting one first, and after everybody has one I take the 2nd. So nobody needs to wait too long. (http://www.cpcwiki.eu/forum/Smileys/SoLoSMiLeYS1/smiley.gif)
Hi,
would it still be possible to get one with MX4 connector ?
Thanks !
As far as I managed to find for now, is the timing of the ROMEN (was a sligth bit earlier than _RD before) signal is different to what I have tested on so far, and probably due to the 40007 gate array.I am a bit surprised that ROMEN could be earlier than RDn since ROMEN is a generated from RDn / MREQn / A14 / A15 (according to my in-progress 40010 analysis)
I am a bit surprised that ROMEN could be earlier than RDn since ROMEN is a generated from RDn / MREQn / A14 / A15 (according to my in-progress 40010 analysis)
My archived LA trace of both 40010 and 40007 does not show a big difference either : the 40007 seems a bit slower than the 40010 (50ns instead of 30ns)
Curious to see your findings :)
Interesting, indeed.
I thought that my 464s had dirty contacts, but one is a schneider and the other one a MC0001A.
Gerald, how are you progressing with the 40010?
Interesting, indeed.Something like 90% of the netlist done.
I thought that my 464s had dirty contacts, but one is a schneider and the other one a MC0001A.
Gerald, how are you progressing with the 40010?
And there should be a file commander/navigator of some kind for basic 1.0 atleast, the :
a$="subdirectory": |cd,@a$
etc.
Is really annoying...
Feel free to use/modify my "$" (basic 1.0) -> run"$ - or another disc directory tool (http://www.cpcwiki.eu/forum/programming/run'$-or-another-disc-directory-tool/msg59670/#msg59670)
or the parallel (in old time) (baisc 1.1) Interesting Type-Ins. (http://www.cpcwiki.eu/forum/programming/interesting-type-ins/msg63972/#msg63972)
OMFG! How could I've missed this thread! :picard2:
Is it too late to order this awesomeness? If not, I would like to order two M4 Boards with MX4 connector, pleease!
You have been added to the list :)
Looks like everything is back on track.
All works on CPC464 GA 40007, CPC 664 GA 40010 and CPC 6128+ with latest changes.
Sorry if this is covered elsewhere in the thread but will the device support updates for things like this please?
Yes it will. In the future you can just use |upgrade command.That's great Duke! Thanks for the extra info! Just waiting for the board to arrive!
But for now the boards I shipped contains v1.0.0, if you cannot configure it because:
1) Your cpc does not support overriding rom7
2) Your cpc has GA 40007
You can download M4 firmware v1.0.1 here:
http://www.spinpoint.org/cpc/M4FIRM_v101.zip (http://www.spinpoint.org/cpc/M4FIRM_v101.zip)
Copy it to your microSD from the PC.
Insert it to M4 board and power On (red led will be on for a few seconds while it upgrades)
When done it will reset and it should be ok.
Default ROM mapping in v1.0.0. was 7, but in v1.0.1 it's 6, since I learned not all CPC6128's will allow you to override internal rom 7 (amsdos).
Afterwards you can from the web interface (under Roms) select rom map 7 for M4, which is best compatiblity with games etc. If your CPC runs a reset loop after this, go back into the web interface again and set it to 6 (or 1 to 5). If you set it above 7, basic file I/O commands will not be re-directed to microSD card.
And for those that are shipped and may receive it the coming days, be sure to check out (and refresh):
http://www.spinpoint.org/cpc/m4info.txt (http://www.spinpoint.org/cpc/m4info.txt)
It contains basic information for first time use (not quite finished, but enough to get your started hopefully).
Hi
Got it tonight, tested it, works like a charm :)
Thanks a lot
Cool that's good to hear. What CPC do you use btw.?
Hi Duke,
Also wanted 1x M4 board with edge connector for my CPC6128 .
Is it possible or it's too late?
Reidrac, on basic 1.0 the syntax of the CD command is:
A$="name":|CD,@A$
Noob question.
Is there any way a ROM can create KEY DEF's?
If yes, then maybe one could do
KEY DEF 0,"a$="+chr$(34)
KEY DEF 1,"|cd,@a$"+chr$(13)
KEY DEF 2,"|cd,@a$"+chr$(13)+"cat"+chr$(13)
and so forth
to speed up the process.
Well, is not that bad. Definitely faster than using tape :)
True, but if it's not a problem, then why not use the F-keys for various commands like this?
F0 = Set a$
F1 = CD a$
F2 = CD a$ and CAT
F3 = DELETE a$
F4 = RENAME a$ to b$
F9 = Set b$
and so forth.
I'll try that, thanks!
EDIT: works perfect! This is an amazing card for the CPC, thanks @Duke (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1624) !
Glad to hear you like it :)
- Don't forget to try the cpcxfer program, if you want to quickly move files for testing from pc to cpc.
xfer -u <cpc ip> FILE.BIN / 0
( '/' indicating the file should be stored in root, '0' assuming the file has prebuild amsdos header. )
I was wondering if there would be a way of getting a socket interface so we can implement things like telnet on the CPC (just daydreaming).
@Duke (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1624): you let us know when we should send you the money ? ;)
Yes, I will pm each one of you with details, when your board is ready.
A technical question: Reading the docs it seems like that the M4 hast two ports. Now one sends a command (and maybe data bytes) to one port and then the command is 'ended' by sending a byte to the other port. That's a fine way to do it. :)
Now, to get the result data, one will read values out or ROM 7 (or 6, depending on CPC model). This is fine for any application residing in RAM. And since this is kind of memory mapped I/O it's probably super fast. :)
Now my question: Instead of reading data from the ROM, is there a possibility to read it from I/O ports instead?
The reason for asking is that a ROM program can't directly access another ROM without a routine to read, previously put into RAM.
It's not a problem, I'm just curious. :)
One question.. If the m4 ROM is moved to slot 6 with amsdos (or parados in 7) are the floppies and the sdcard accessible, and if so which drive letter does the SD card use? |S maybe or |M for SD or Mass Storage accordingly? If this works then this will be perfect.
Mine just arrived yesterday and I need some time to play properly but I have a few questions.
If I connect the M4 board directly to my 6128 plus it all works great.
However it doesn't seem to work with my C4CPC cart plugged in using a custom cart image containing Parados replacing the normal AMSDOS ROM so switched back to original Burnin Rubber cart.
Also doesn't seem to work if plugged in to my MX4 board even if it's the only board connected in slot 1. I just get random graphics or lines on the screen.
As such I can't use my X-Mem with its memory expansion capability.
Is there any way to resolve the above please? Does it need external power when connected anything other than directly? Is it a power consumption issue if I have all the above connected?
Sorry for all the questions, don't to seem like I'm moaning as this is such an awesome board and idea.
As far as I know, the MX4 has a diode that's dropping the voltage from 5V to around 4.3V. If the M4 is using a 5V to 3.3V regulator then it probably isn't getting enough voltage to power up.
Bryce.
Ah, thanks for the input, that makes sense. Yes its using a ams1117-3.3V regulator.
Unless you use external power supply. You can also plug a USB psu directly to the M4 board (just change the jumper).What amp rating does the USB psu have to have please? Will an iPhone charger using a USB cable do the job please?
What amp rating does the USB psu have to have please? Will an iPhone charger using a USB cable do the job please?
Sorry one further question; what wifi standards does the board support please? I.e WPA, WPA2 with a pre-shared key. Also can the MAC address be found via the CPC?
Unless you've really messed up big time, I doubt your M4 uses more than 500mA, so any USB charger should work. Current iPhone chargers are 1A.
Bryce.
I did a quick "back of an envelope" calculation (no schematics, just using the picture of the card) and I estimate that the current consumption could have an absolute max peak of about 430mA, but that would mean that the M4 was running full speed with all GPIO on, the WiFi was transmitting at full power (+17dbm is its limit as far as I know) and the SD card was being written to, all at the same time. As this scenario is extremely unlikely, the average current is probably half that.
Bryce.
Try typing |netstat and see what it says about connection status.
And try a ping to your ip number
Also with 464 w/o mx4 you shouldnt need external power, I bet its the connector that needs cleaning.
EDIT: if you changed the M4 rom from 7 to 6, that could explain the game reset also, since some games needs it at 7.
Netstat says: Got IP xxx.xxx.xx
ping to this IP says: Zielhost nicht erreichbar. (host unreachable)
I didn't change any of the config of M$, it is version 1.0.1 (esp is 1.0.0)
TIME gives correct time (dhcp=1).
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.
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.The XMEM (like most oster ROM extension), when connected will drive the bus during access to ROM in they slot range.
Does it boot and will maxam work?
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.
@Maniac (http://www.cpcwiki.eu/forum/index.php?action=profile;u=930)
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?
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.The X-MEM is always disabled when ROM7 is set. (physicaly used for the alternate FW)
CPC 6128 Old
@Dirtybb
Not sure what the problem is, since we now have two conflicting tests, what CPC you use for the test? (also a CPC+?)
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.
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)
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 ?
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?
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 :)
@||C|-|E|| (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1447)
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 (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 (http://www.spinpoint.org/cpc/m4boot.zip)
If there's really intest for something like this, I figure a ARM code upload function and execute would be the way to go.
Yes, but the more low level access you give to the end user, the more endless support you're going to have to deal with.
Bryce.
That should be left to the user. Why to take away potential features of a device? That's like to kick the spare wheel out of a car (or the turbo loader in this case). If somebody screws up then it's their problem, and with a protected loader it can't be that bad - just switch it on and off. :)
You can keep Murphy to a minimum by restricting what the user can do.
Bryce.
Hmm... such a restricted system isn't of interest any longer for creative people.
Hi Duke?
Are you already sending the boards?
I was in the initial list of interested people. How I should pay you the board for you to send it to me? Is there any website (this forum thread expands very fast and I have no time to check every comment sorry...)
Thank you and congratulations for your achievement!
I didn't know that you're a proficient ARM Cortex M4 programmer. If that's the case, then you can easily bypass the restrictions with your JTAG Programmer anyway.Whoa! :o JTAG is one of the drinking game words :laugh:
Whoa! :o JTAG is one of the drinking game words :laugh:
Darn, just when I don't have a pint handy >:(
Mark
I didn't know that you're a proficient ARM Cortex M4 programmer. If that's the case, then you can easily bypass the restrictions with your JTAG Programmer anyway.
Bryce.
There is a lot you don't know about me. I'm an Atmel programmer too (see CPC Booster f.e.). But I don't have a JTAG programmer.[nb]There is nice software for PC to target all this systems, and if the hardware has an 'update' function, then no need to buy hardware like an expensive JTAG programmer. Have you ever heart of Ponyprog for ATMega16/32? Did you know that you can use the next higher MPU in CPC Booster easily and have double ROM?[/nb]
There is a lot you don't know about me. I'm an Atmel programmer too (see CPC Booster f.e.). But I don't have a JTAG programmer.[nb]There is nice software for PC to target all this systems, and if the hardware has an 'update' function, then no need to buy hardware like an expensive JTAG programmer. Have you ever heart of Ponyprog for ATMega16/32? Did you know that you can use the next higher MPU in CPC Booster easily and have double ROM?[/nb]
PonyProg is a serial programmer for AVR and PICs, you can't program JTAG devices with it.
Bryce.
PonyProg is a serial programmer for AVR and PICs, you can't program JTAG devices with it.
Bryce.
I have an original Xilinx and a Segger programmer to cover most JTAG jobs. I've seen there's an Arduino based solution too knocking about, but I haven't tried it.
Bryce.
Last night I found something curious when the board is plugged. Somehow, it seems to be messing with the HXC loader :) . So, the story is as follows: if you I have the HXC connected and you use its buttons to navigate, access the folders, etc. everything works well, including disc loading. However, if you decide to use the loader from the Amstrad, as soon as you execute RUN"HXC the thing stops working. The computer seems to freeze and sometimes a random pattern appears on the screen. Actually, I was not even able to make a CAT. However, when unplugging the board everything works well. I am using it with the MX4, just in case it is of interest, and the computer is a 6128 Plus with the C4CPC :)
Having tried out the DSK mounting via the M4 I tried to mount an image I made of a ROMDOS D20 format disk. The mount worked and when I listed the directory it also looked good. However when I tried to load or run anything I just got a 'Direct command issued' or similar error back. Is this expected? How do you mount the DSK images? Do you read the format info from them please?
Sorry I don't know too much about how the DSK format works other than I know these images work in WinApe.
Hi @Duke (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1624)
I received the Board, but when i plug it on the CPC, nothing happens...
[Edit]
just used an external power supply and adjust the data cable, all works now!!!!!
Thanks for this piece of hardware!!
The Board works fine ;)
I have uploaded FutureOS and SymbOS to Roms, but don't work Roms don't recogniced. Other Roms works.
Make sure there is no amsdos header on the roms before uploading (should be 16384 bytes in size). They should work, but been a while since I tried them.
If one is present, is there a way by software to easily remove the AMSDOS Header of a ROM ?
Cool, that'll be a first - hope it's justcpc 128k compatible :)It is compatible, And it is F'KING awesome. Oh My God this board is amazing
It is compatible, And it is F'KING awesome. Oh My God this board is amazing(http://uploads.tapatalk-cdn.com/20160628/ebd5764e20c5ddf8cfdd97564412b46e.jpg)
On the Just CPC, No external power needed for the M4, No floppy drive installed and it works straight away. I love it :)
Thank you for making this awesomeness a reality :)
Craig
@Duke (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1624) how many boards have been made and shipped? It would be amazing to see some SD card based software to run on this board. My initial suggestions are below!
Irc client
Ftp client
Ssh client
Text mode web browser
I guess they should be possible. Less likely are the ones listed below
Graphical browser
Ssh server
Email client (SSL might be pushing it)
anyone fancy volunteering to create these? In amsdos, futureos or symbos these would be amazing.
people can keep track of the progress, in the first post here: Amstrad CPC WiFi (http://www.cpcwiki.eu/forum/amstrad-cpc-hardware/amstrad-cpc-wifi/)What about a live webcam of your factory, to see the progress of the work? ;D :laugh:
What about a live webcam of your factory, to see the progress of the work? ;D :laugh:
You'd be bored to death, that's how slow it goes... :)*that* I don't believe. A card that sprang from nothing to a fully working WiFi and microsd solution in one step, with further promises to come is awesome. |httpget is a brilliant feature BTW, I love it.
S, community: where are the websites with free HTTPGET pictures, programs, sounds, demos - directly to cpc ... :D
Hi Duke,
It seems this board is fast becoming the de-facto standard for CPC internet support and some other things like FAT filesystem/DSK support. I have one major concern. Perhaps it's just my misunderstanding, but all the commands seem to return results immediately, including HTTPGET (which is impossible). The ROM simply sends the command then reads the data. Obviously, the data isn't available straight away, and there's no code in the ROM to wait for a response, so how do you force the Z80 to stop and wait. Could it get stuck waiting forever? Are interrupts available while it's waiting? Is the CPC internal RAM refresh still happening as it should be?
OK So I do have one question.....
I am sure I read somewhere that the M4 board supported Lower Rom replacement too. Ad if so then this would allow FW 3.15 to be installed.
Is this true or did I dream it?
If I did not dream it, then how do I activate this feature. If not then could it be a feature request to add the Lower Rom to the functionality?
Craig
You read right, but it's not ready yet. Next upgrade :) - I am not sure what FW 3.15 does, but I think it's designed for XMEM?It's a lower ROM replacement with many added features. It's not just for the xmem, but works with any method or replacing the lower ROM. I have it burned into a plus cart, on a single lower ROM board and in my xmem.
How it works is that once a byte is written to port 0xFC00, the M4 will issue a BUSRQ and effectively the z80 will be "stopped" while the M4 processes the command.
Well, a HTTPGET for example could easily take seconds to execute. If the BUSRQ is held for that time the Z80 won't be able to do anything else at all? Does this also affect the Gate Array access to the bus for display data?
I think the Gate Array has direct overriding access to the first 64K of RAM and will exclude the Z80 and anything else external from using it. The CRTC should generate it's signals so long as it has a clock input, so the display should be safe. I didn't realise the M4 actually needed to be active for the ROM to be available to the Z80 (single core being used for other stuff?) as there's very little extra logic on the board itself, meaning even if the M4 board could do it's own thing without stopping the Z80, you'd need another ROM board if you're running stuff from ROM. Just how fast is the M4, and would there be any way to interleave the network/SD and Z80 ROM access? I'm not sure it's a huge problem as like uPD765 floppy access you can't really do anything else at the time on the CPC.
hello
i-m interested in one mx4 board with edge connector for cpc 6128 standard.
how add me to the list
If it was to be used as an accellerator for the CPC, I think best method, would be to do CPC RAM emulation on the M4, then you could provide some nasty fast blitter like routines etc :)The question is not new and always the same: When the CPC is no more a CPC?
The question is not new and always the same: When the CPC is no more a CPC?
Taking control over the Z80 with a MCU (your ARM, Arduino, ...) allow everything. The CPC is finally a simple terminal to input and display. ;)
I completely agree. I prefer the CPC to be the CPC and have some easy methods to external data :)By the way, a blitter is from my point of view the more logical improvement into a "CPC 2" design.
If it was to be used as an accellerator for the CPC, I think best method, would be to do CPC RAM emulation on the M4, then you could provide some nasty fast blitter like routines etc :)
Well, since the CRTC can only access the first internal 64 KB of RAM it would limit additional features.I don't know any 8-bit system with 64K VRAM. ;D
That's correct. Afaik. gate array and CTRC are unaffected by the BUSRQ, but you probably know this better than me.BUSRQ will just make the Z80 to release the BUS : ADDR/DATA/IORQn/RDn/WRn/M1n will be floating (there is a probability that these signal goes high by themselves thanks to the TTL input their are connected to, but this is not granted)
I don't know any 8-bit system with 64K VRAM. ;D
plugged into 6128 fired up card came on now I need an Dummys Guide to getting wireless working with a CPC
Nop, you have to type it exactly like that and replace routerssid and routerpassword with your routers's ssid and password.
For example, if your wifi's name is WLAN_DRAC and the password CPCwikiRules, the command should be typed like this:
|netset,"ssid=WLAN_DRAC, pw=CPCwikiRules, dhcp=1, dns1=8.8.8.8, dns2=8.8.4.4, name=CPC"
got netstat
unknown status 255
got netstatMy 2 do that too if for any reason they drop the network connection (seems to happen if in use chrome to manage the ROMs etc, Firefox and safari work better) but a simple restart of the CPC/M4 fixes the problems.
unknown status 255
OK. Has anyone started to write software for this board yet? Below is my first effort!
10 CLS
20 locate 5,5:|time:goto 20
OK it's really simple, but does turn the CPC into an NTP synced clock ;)
No seriously, one for the real coder's.... How about a program that can be launched from the SD card, that will program the ROM slots on the m4 board directly from the CPC... @Duke (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1624) is this possible? Maybe by sending the file to the same URL as the web interface? Or can it be programmed directly?
OK. Has anyone started to write software for this board yet? Below is my first effort!
10 CLS
20 locate 5,5:|time:goto 20
OK it's really simple, but does turn the CPC into an NTP synced clock ;)
No seriously, one for the real coder's.... How about a program that can be launched from the SD card, that will program the ROM slots on the m4 board directly from the CPC... @Duke (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1624) is this possible? Maybe by sending the file to the same URL as the web interface? Or can it be programmed directly?
Can you document that code with some "REMs" so that we can understand what's happening? :DTeeheehee ;)
Bryce.
@Duke (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1624)
Was wondering how you access the 3" floppy that was |A.
I have had a look at the rsx's .
Or have i missed something ??
Thanks Ray
Congratulation for this board, what a neat design, and results look really great!
It kind of defeat the idea of "wiki board", nonetheless I've two questions:
* Can a Ethernet version be built?
* If not, can the WIFI be deactivated alltogether?
If either an answer is 'yes', I would like to order 2 of these cards (MX4).
Oh, and how does the M4 play with other RomBoard (e.g. X-MEM)?
Viva el Denmark.
You could manually disable the Wifi by putting a switch on the VCC pin of the ESP8266MOD (bottom pin furthest from the Antenna).
Bryce.
@Duke (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1624) how many boards have been made and shipped? It would be amazing to see some SD card based software to run on this board. My initial suggestions are below!
Ssh client
For example, if your wifi's name is WLAN_DRAC and the password CPCwikiRules, the command should be typed like this:
Yippee, Yes I tested this and it works, My M4 now has FW3.15 and the fw 3.15 expansion Rom, both installed and working perfectly.
All I need now is a Standalone memory expansion for the JustCPC and it will be amzinf, Anyone fancy making a MX4 connected 512k expansion?
Craig
Yeah, but I want to move that to another CPC now that I have a lower romboard in the M4 ;)
You can get an XS-MEM (I think that's the right name, might be Y-MEM). It's an X-MEM but without the ROM. Ask @TotO (http://www.cpcwiki.eu/forum/index.php?action=profile;u=290) , he made one for me a year or two ago. Price is a bit less than a full X-MEM IIRC
But one question form my side: How can I upload a ROM from the CPC side into the M4? (I would like to add that functionality to the ROManager).
A second question: Is there an "official" way of detecting if an M4 is connected to the CPC?
where can i download the FW 3.16?
i´ve see it, but don´t found anymore.
New update v1.0.5 (beta):
Download from here:
http://www.spinpoint.org/cpc/M4FIRM_v105.zip (http://www.spinpoint.org/cpc/M4FIRM_v105.zip)
3 new RSX commands:
|ROMUP - Use this to upload roms from basic/cpc, ie. |ROMUP,"UTOPIA.ROM",15 will upload utopia to slot 15.
|ROMSET - Used to enable/disable roms (by default roms are enabled when uploaded). To disable rom slot 15, type |ROMSET,15,0. To re-enable it |ROMSET,15,1
|ROMUPD - This command will update rom changes live without a reboot needed. Ie. if you disable a rom and want it to take effect without reboot, use |ROMUPD afterwards.
2 new commands for devs:
C_FSIZE and C_FTELL, see updated http://www.spinpoint.org/cpc/m4info.txt (http://www.spinpoint.org/cpc/m4info.txt) (press ctrl+R to get latest) for details.
1 new file access mode (&80 = real fatfs mode)
@TFM (http://www.cpcwiki.eu/forum/index.php?action=profile;u=179) and any other devs interested, here is a an example of the |ROMUP rsx I made, which shows how to upload a rom. This code is running from M4 rom, so some switching will need to be added, to/from another rom or ram:
#10902802 - Pastie (http://pastie.org/10902802)
@CraigsBar (http://www.cpcwiki.eu/forum/index.php?action=profile;u=482)
Neat little discovery, and yes, M4 rom does not actually take a slot, so perfectly fine way of doing it (toggling between two rom7's).
@Phantomz (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1308)
I don't have a multiface, so not sure, but if the reset button is a regular reset (not some NMI related MF2 stuff) it definately should work, I would check connectors, replug etc.
Yes, ESP firmware wasn't changed in this version... Will bump it next time :)
Oops, and perhaps a slight bug report.....
That makes sence then :) Oh, ANd the Web GUI still reflects 1.0.3
Oops, and perhaps a slight bug report.....
|upgrade and |httpget now seem to hang the CPC.
Thanks, glad someone is keeping an eye with the updates :) -will get the version numbers sorted in next update.
Just checked |httpget and |upgrade here and it works fine.... What's your netstat saying?
No, a Y-MEM is the same like an X-MEM, but the ROMs are 32-63 (instead of 00-31) and the 512 KB RAM will be addressed using port &7Exx (instead of &7Fxx).
I just updated my card and everything is OK up to now; thank you for this update ;)
@Duke (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1624), I've received today both M4 boards and have tested one with my CPC464. It worked connected through a powered MX4 board, commands reply and it connects to WiFi. Web server is accessible and works and time and netstat commands work well.
However, I had a problem: any attempt to copy a ROM or the firmware through the webserver makes It hang. Also, trying to change M4rom from the slot 6 does not work as the M4 reset command seems to make it forget everything.
Could it be a bad firmware upgrade when I tried to do it through web? Any other possibility? How should I proceed? FW is now 1.0.3
Thanks for all the details, @Duke (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1624). I was doing all as you said, except pausing CPC previous to sending ROMs or new firmware. I tried it again pausing CPC before sending anything, with same results.
A question about all this, Is it necessary to have a microSD to send content through web interface? I am using your card without inserting an SD card. Does it require a card to save sent files before proceeding?
M4 board wishlist...
Sorry about this, but can I add some features to a wishlist?
1. Option in the web GUI to download a file from the m4 to the web client. I guess thus would need a file browser of the m4 SD card being published on the web GUI.
2. An option in the GUI to execute a single line command in basic on boot, so a specific file could be loaded from the SD card, or the screen mode changed, or the colours changed etc...
Sure.Ahh. Excellent, must upgrade to 1.0.6 tonight.
1) was planned, but I didn't get around to it. Sometime it will display the files of the sd card in the webinterface.
For now a little trick if you need a file you know the filename of, you can type the following in a browser: http://cpcip/sd/filename (http://cpcip/sd/filename).. ie. http://192.168.1.10/sd/games/gryzor.dsk (http://192.168.1.10/sd/games/gryzor.dsk)
2) will require some lowerrom patch, not sure how to do that, it would indeed be cool with some kind of autoexec.bas
OK... Interesting uses of the m4 board. Episode 1.....
Today I had to type in "bigprint" from aa57, and my Amstrad kit is at a funny angle compared to the desk... So i found a great solution.
1: install protext on my Amiga 1200 that has a pcmcia WiFi card.
2: type the program into protext on the Amiga and save it as 'bigprint.bas' in program mode.
3: send the file to the CPC via the m4 board and the Amiga web browser.
4: load it into protext ROM on the CPC (ROM loaded into the m4)
5: check for, and correct any typos, save the file
6: run it!
So there you go, the m4 is a retro version of apple's airdrop technology, and I love it!
Or you could just pack that A1200 away and make space to place you CPC properly centred on the desk. :)Well yes, that is an option. But until the m4 has an irc client I still use the a1200 for that... Oh and it has a much nicer keyboard to type lengthy DATA statements on.
Bryce.
@Duke (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1624) ,
After reading your Dev API description, I missed some way of directly addressing the network. I think that sending and receiving data through and from network ports will be required for advanced features. How could we help you develop the firmware?
EDIT: Firmware 3.15 with BASIC 1.1 works :)
EDIT: Firmware 3.15 with BASIC 1.1 works :)
Hi,I have not used the booster ROM since FW 3.1x included 0 to 31 initialisation anyway ;)
RomBooster seems to reboot in loop the cpc (put in pos 15).
Does anybody else tried ?
On the other hand, I can confirm that FW316 used as lower ROM initializes 15 to 31.
I have not used the booster ROM since FW 3.1x included 0 to 31 initialisation anyway ;)
Sure can. I need to upgrade the board to 1.0.6 first tho ;)It works for me.
It works for me.Can u try disabling low Rom replacement ?
(http://uploads.tapatalk-cdn.com/20160713/02775822b20d9823b6bac61fd32ff41b.jpg)
That was with low ROM replacement disabled. I did not want fw 3.16 messing with the booster.Thank you very much.
Thank you very much.Glad to help.
Following your feedback, i've made a total reset of the rom conf, now Rom booster works well.
Will try to find out what rom installed was in conflit with.
Just open it in a hex editor and remove the first 128 bytes. But maybe there is a tool somewhere already?There is a good old utility to do this: Hideur Makeur Aminet - dev/cross/HideurMakeur.lha (http://aminet.net/package/dev/cross/HideurMakeur)
Does anyone know if @TotO (http://www.cpcwiki.eu/forum/index.php?action=profile;u=290) is on vacation? It's been a while now since I ordered cables, but haven't received any packages and he's not replying e-mail either.
There is a good old utility to do this: Hideur Makeur Aminet - dev/cross/HideurMakeur.lha (http://aminet.net/package/dev/cross/HideurMakeur)I haven't noticed that in the quote it wasn't said what Hideur Makeur does: it removes the AMSDOS header from files.
I haven't noticed that in the quote it wasn't said what Hideur Makeur does: it removes the AMSDOS header from files.
With latest firmware update (1.0.6), it should not matter if there is a amsdos header or not, it should be autodetected.Yep, it seems to work. I have deliberately used header and headerless ROMs. Both work fine.
Yep, it seems to work. I have deliberately used header and headerless ROMs. Both work fine.Great!!
Small update v1.0.7 beta with some small but important fixes. This is very beta and only M4 part is updated (ESP and web UI will still report v1.0.6). Any new issues arise, please leave feedback, thanks !
* Fix issue with cas_in_char soft EOF. Ie. now remember the 80's music disc works without problems, maybe other related stuff will be fixed too(?).
* cas_in_char buffered for fast(er) performance. - Was dead slow before, need to buffer cas_out_char next.
* Fix |ROMUP to work from .dsk images too (thanks dirtybb).
* Fix issue with catart so it no longer goes into to infinite loop when cat/dir. - Still doesn't display catart 100% as it should... maybe sometime!
Download:
http://www.spinpoint.org/cpc/M4FIRM_v107b.zip (http://www.spinpoint.org/cpc/M4FIRM_v107b.zip)
OK Unfortunately this does not work for me:(
|version still reports 1.06 and Remeber the 80's is still not playing ball (well tunes actually)
hmm yeah that should have worked, will look into it when I get more time.Great! This is an awesome product, with amazing service. Worth every cent and greatly appreciated customer support. Many thanks.
EDIT: Just took a quick look. I don't translate the IP (ASCII ip to ip number), so that's why it doesn't work, will fix it next time, fairly trivial issue (string parsing...) .
Great! This is an awesome product, with amazing service. Worth every cent and greatly appreciated customer support. Many thanks.
Is the expansion connector was cleaned?
Alright, I get light in the LEDs too when using USB from PC. (Just used power-supply before, which may be dead?).Try not using a PSU, and set JUMPER to EXT. plug it directly into the CPC464 using the edge cable from Toto.
But still nothing when connected to CPC.
So, either bad cable or bad CPC. I assume TotO tested the cable, so... bad CPC.
Will try with another CPC next weekend.
Try not using a PSU, and set JUMPER to EXT. plug it directly into the CPC464 using the edge cable from Toto.
Does blue light come on?
If blue light goes on, clean the expansion port x 10 (IPA) :) - It's so far always been the problem when there was one
If the blue light does not come on when jumper is at EXT and connected to the CPC464, it sounds like something has gone wrong with board, although I do run some longer tests on each board before shipping. Then send it back so I can fix it or send you a new one.
Not using a PSU, and having jumper at EXT was the first approach. No LEDs comes on. I suspected shipping might have done something to it.
But using USB wire while jumper is a USB does light up a few LEDs, so now I'm guessing the board works and my expansion port is to blame.
So then I tried PSU + jumper at EXT, but no LEDs still.
TotO also sent a cable for my CPCplus, so I can try that one, but won't have time before next weekend.
I do also have another CPC464 somewhere that I might try earlier.... actually I do have a few minutes right about now, so lemme see if I can find it. :)
This was already discussed earlier in the thread. Due to the lower <5V supply on the MX4, the Wifi card will only work when it gets power from the USB socket.Well I have to say neither of mine have usb power ;) one in the just CPC and one on the mx4 on the plus.
Here: Amstrad CPC WiFi (http://www.cpcwiki.eu/forum/amstrad-cpc-hardware/amstrad-cpc-wifi/msg128273/#msg128273)
Bryce.
Ahem.... I don't suppose there's any way I can just erase your memory and rewind time for everyone a bit?
Too damn embarrassing to tell what I was doing wrong....
Everything seems to work. But here's a hint:
Plug it into the right port... :-[
/me goes to sit in the corner for the next week.
Hmmm, OK. 1.0.7 on both cards and I still cannot copy directly between them both. No error as such, sometimes it locks up both host and client m4 boards, sometime copying completes but with 0 bytes, no file is created.
Quite odd. But I am away for the weekend now, so will not be playing with it again until Monday night.
Yeah you are right :/ - When I was testing it, I had v1.0.6 on the board I was downloading from, but when I try now with both boards on v1.0.7 I have same issue, so some new bug must have crept in.
I'll review it later.
Yeah you are right :/ - When I was testing it, I had v1.0.6 on the board I was downloading from, but when I try now with both boards on v1.0.7 I have same issue, so some new bug must have crept in.Ahh, good to know I am not totally stupid :) I am just home from a really busy weekend, and I am very tired.
I'll review it later.
I need two and two m4 main board with edge connector.
thanks!
If you have any trouble getting rid of the last few, I'll take one more. :)
I seriously doubt it of course. Just sayin'. :)
(It'll have to be fully assembled though, coz I have absolutely no skills whatsoever in that department).
v1.0.8 beta, with just two tiny fixes. Download here : http://www.spinpoint.org/cpc/M4FIRM_v108b.zip (http://www.spinpoint.org/cpc/M4FIRM_v108b.zip)Hi Duke, if this is the same as the alpha you sent me yesterday, then it seems to still fail :( perhaps someone else could confirm?
* Fix (I hope, works here!) downloading between M4 boards using IP number... Note all files stored on sd card are accessible via http, when prefixing sd path in the url.
From a pc you can use ie. wget http://192.168.1.10/sd/myfile.bas (http://192.168.1.10/sd/myfile.bas), the same if you have another M4 board, then |httpget,"192.168.1.10/sd/myfile.bas" (192.168.1.10 being the ip number of the CPC you want to download from).
* Small fix to |dir cmd, so Rhino's cool Perfect Pix program can load and save files. To fully use Perfect Pix with M4 board, you should extract the files from the DSK image and put them into a sub directory, so you have save ability too.
Hi Duke, if this is the same as the alpha you sent me yesterday, then it seems to still fail :( perhaps someone else could confirm?
It is one step closer now however in that it appears that a tiny 1k file with the right filename is now created, no data transfers tho.
Never mind I can remove the SD cards and copy the files onto them with my Mac.
Craig
Hmmm. OK, is the path case sensitive? I'll try again.Yes the /sd/ should be lower case.
Please help.
I have tested my M4 Board today the first time, and the CPC does not accept the netset command.
When i write the Command:
|netset,"ssid=WIFI2, pw=1234Start1234Start1234Start, dhcp=1, dns1=192.168.0.1, dns2=0.0.0.0, name=CPC464" then Comes only a "Type mismatch" back.
It is a CPC464.
what am I doing wrong?
by the way, the "PW", is this the Password from the Router himself or the WiFi-Connection Password? is not the same with me
And can use the M4 Board a AES encryption ?
thanks!
Just a few words to say i've received mine and it works perfectly so far!
Thank you very much Duke, that's a very impressive piece of hardware...
Gonna be hard to use all the power of it :D
Now a question : i use a usb cable straight from the USB port of my desktop PC to power the card. It works well (in fact the card works also without additionnal powering when i have nothing else plugged than the M4Board and a Mother4).
I have a phone charger : DC5V, 1000mA. Would it work without frying everything ?
Hi to all!!!
Im a new member on the CPCWiki.
I have an Amstrad CPC since 1986, actually I still have my original CPC 464 in good conditions (was my first computer), and a CPC 6128 too.
Im a retro fun.
Greetings to all.
how does that work with the dsk files? Can the mount?You simply write:
The card runs with a 5V USB charger, but, is enought a power supply with 2A, or need up to 3A?The card should run without any charger at all, unless you use MX4 motherboard, in that case a 5V 500mA should be enough.
Thanks.
Ok Duke :) .If you can wait 3-5 weeks, its OK, I am out of edge connectors now too, but I can order some more.
Is possible to buy 2 cards with Edge connector???
Or is too late???
Thanks.
@CPC_Fan (http://www.cpcwiki.eu/forum/profile/?u=1127)
If it says unknown command the M4 board is not initialized.
To rule out a couple of things for starters.
Use the MX4 cable directly plugged into the M4, set the jumper to EXT. Don't connect any external power supply.
Since yours is quite long time ago, I am not sure which firmware is on it, so I suggest you download latest firmware, here:
http://www.spinpoint.org/cpc/M4FIRM_v107.zip (http://www.spinpoint.org/cpc/M4FIRM_v107.zip)
Unpack the files to the root of the microSD card from your PC, insert it to M4 and power up the CPC6128.
You should see the RED led come on (below the blue one) for some seconds, then blue led on WiFi module comes on and some seconds later, it goes off a long with the RED led.
CPC should reset and you should see the message M4 Board V2 displayed.
If you do not see this message, sending netset command etc will not work.
Let me know how this goes, then we can take it from there.
For DNS servers you can just use google dns, which is "dns1=8.8.8.8, dns2=8.8.4.4"
And most likely the M4 board is in conflict with XMEM, this can be solved either by disabling rom board on XMEM or changing the ROM range on M4 once you get it setup.
Perfect Duke!
I can wait, no problem, you can insert 2 cards with Edge connector for me into the orderlist. ;)
Can you tell me when the cards are ready? and how I pay, (bank transfer, paypal, etc, and final amount, please)
Thanks for all.
Thanks for your reply and help Duke. Sorry I didn't mean to come across or sound rude to you. I followed your instructions and I now get the M4 Board V2 sign on message.
So how do I change the ROM range on the M4, so that it doesn't conflict with my X-Mem? Or would it be easier to turn the ROM board function off on the M4?
Also is it possible at all to print directly from my 6128 to my Wi-Fi connected printer, which is on the same network, using Protext? If so, how?
Duke, i have a little Problem with the BASIC 1.1 ROM.
When i flash it to Slot 0 (Version v1.2.0, v1.2.1 or v1.2.3) and Reset the System, then the CPC starts with the
BASIC 1.1
Ready
but after that the Screen scrolls indefinitely and the System hangs.
The easist is to disable ROM board function of XMEM, I think there is a jumper to do that. Other users of both please jump in with details how you arranged it.
You can also move the rom range of M4 Board via the webinterface (type in the IP number to firefox/internet explorer that you get when typing |netstat) under ROMS.
Then you set starting range to 32 (after xmem).
However you also need to move the M4 rom out that range (unless you can map rom7 on your CPC6128).
For that to work you need to upload a proxy rom to XMEM too (which will find the M4 rom out of the 0-31 range).
You can find that rom here: http://www.spinpoint.org/cpc/m4boot.zip (http://www.spinpoint.org/cpc/m4boot.zip)
It's not really upto date, but will work for the basics ( I don't think anyone uses it, so I haven't updated it).
As I do not think there is any software enabling use of 64 roms, it just easier to disable XMEM rom part and upload the roms you use to M4 via the webinterface.
There is no way to use your printer via wifi unfortunately.
And lastly you didn't come across as rude, so no worries :)
thanks!
what's the difference between FW316UK16.ROM and FW316UK32.ROM ?
Is this the ROM-Socket what i use?
Can the CPC464 use all 32 ROM Slots? I heave hear ther can only use 16 Slots. Or is this only a Limitation from the ROM-Box (X-MEM, MegaFlash NG)
What is the File FW316EXP.ROM ?
Thanks for the information Duke. Hmm seems like a bit of a waste of my X-Mem to disable the ROM board function part of it, but if it's easier to do that rather than turn the ROM board function part off on the M4 Board, then that's what I will have to do.
Shame that I cannot print directly from 6128 via the WiFi part of the M4 Board. Can it be done if someone could write the software to do it, or is it just not possible?
Is the M4 Board compatible with ParaDos by the way? I only ask, as I have a swichable dual Amsdos/ParaDos ROM in my 6128 and when I switch it to ParaDos, I cannot call ParaDos up using the |drive command/rsx.
With regards to WiFi printing. Yeah I kind of guessed that software would have to be written for it. Don't worry I don't expect you to do it :) I'm just grateful that you designed and built the M4 Board in the first place :D How do I use the WiFi set up to transfer any Protext files to my PC and print them out by the way?
Duke, i have a big Problem...
The M4 board responds no longer with the message M4 Board V2.0 when i Switch on.
what can I do?
And the RESET-Switch only reset the M4 Board, not the CPC.
Hi Duke,
please, could you extend your documentation for the result-data of the Cortex-Commands,
e.g. i receive for command 0x4306:
1. Record:
Hex: 13 06 43 3e 6d 34 20 20 20 20 .....
Ascii: ..C>m4
2. Record:
Hex: 13 06 43 52 20 20 20 20 20 20 .............
Ascii: ..CR .ASM 1K
3. Record:
Hex: 03 04 43 FF 41 48 54 5a ........
Ascii: ..C.AHTZE~4.DSK 190K
What are the leading 3 Bytes mean?
Thanks
Replug it and clean edge connector again.
Does not help. The X-MEM works correct.
scrap?
reset button on the multiface ii and reset controlled by the albireo doesn't work with the M4...
with or without SD-Card makes no difference.
The 3 LED light when turn on, but no more.
I have no external power supply, otherwise I would have also been tested.
Is the USB Plug only a power connector or can this connect also to the PC for Debugging?
I see, will check up on that later.
Same for the reset button on the mother4X
So with jumper on EXT and no powersupply, the blue led does not turn on and stay on when you power up the CPC?
The USB is connected to the M4 aswell, but I dont run any software utilizing it.
ok had time to try again on netstat got no ap found I assume that means no active point, I have WPS turned off on my router if I turn that back on I guess that will push the connection.
I shall try the 5 gigahertz one tomorrow only tried the 2 gighertz ssid.
Hello again i tried this board on a 464 finally. It works well. But i cannot use the tape have build in. The |tape dont work the |disc have the same result. If i remove the board the tape work ok.
Another question i think is general can i replace the basic rom with this board?
Also i believe that you sould have all the updates in one page with the link on the documentation
P.s. |uprade dont work
The board have 1.0.3
Here it is : M4 Board - CPCWiki (http://www.cpcwiki.eu/index.php/M4_Board)
Cards well received! These are neat little things.
Almost worked out of the box, except:Are romconfig.bin / romslots.bin described somewhere? I'd like to shift ROMs from my CPC.
- connection was lost ~1min after |netset (with |netstat hanging). No idea why.
- hard reset do not reset anywore!
Also, |B works, but AMSDOS commands afterward still access the SD-CARD. How is that?
BTW, is M4ROM vs Parados conflict resolved (each in its own ROM, M4ROM falling back to Parados for floppy access)?
If not, how are we meant to copy from floppy/HxC to M4's SD-Card ?
Thanks a lot, keep up the great work!
Same here on a CPC6128, but sometimes(!) when i press the reset-button for a longer time, the CPC was reset.
- hard reset do not reset anywore!
I've just made a CPCLoader collection with all the games of NVG extracted to folders similar to the one I made to use with BonnyDOS.You created the file with "CPC Loader 3" can i download this version?
This project looks amazing. Very tempting to buy one, but what I'm really after is some way to connect to a Raspberry Pi. Sorry to hijack your thread, but how easy would it be for me to take your hardware (or any schematics if you're happen to release them and build my own expansion board) and write my own libraries for connecting to a telnet server?
I've got some basic soldering skills (entirely self taught at EE though) and pretty good at programming, so it is something I could do on my own, but my biggest problem is I'm not really sure how to go about starting a project like this. :laugh:
edit: Or if you're accepting feature requests (and I'm sure you're probably sick of hearing questions like this! lol) would you be willing to expose BASIC commands for forming TCP/IP connections and sending packets down them? Then it would be trivial for me to write a telnet client in Locomotive BASIC.
You created the file with "CPC Loader 3" can i download this version?Hahaha, sorry. It's not available yet. That's the frontend in really near new CPCGamesCD release!!
From the homepage CPC Loader (http://cpcloader.trak.dk/) i can only download old versions.
Hi! How (or where) can I order this board?
Thanks,
DaD.
Just send me a private message :) with your email address and let me know what connector you want (edge or MX4).
When i have a good-filled SD-Card, and make a |CD,"M5" the system means that the path doesnt exist (it's ok).
When i make "cat"the cat is corrupted (length = ERR) and the path is set to "m".
Hi Duke (it's not possible to write a PM with an attached image?!),
i can't reproduce it (i mean, it occurs after a reset), but can you please check your code?
Thanks & Bye
SOS
Just send me a private message :) with your email address and let me know what connector you want (edge or MX4).
Thanks for adding the wiki page!
It'd be good, I think, if you could also add the changelog to it. I can do it myself, of course, if you could provide me with a complete log that would save me from going through so many posts here :)
Started adding a bit of NET API, for now only TCP/IP functions (client), max. 8 connections. Probably full of bugs :)
Functions added so far:
C_NETSOCKET equ &4331
C_NETCONNECT equ &4332
C_NETCLOSE equ &4333
C_NETSEND equ &4334
C_NETRECV equ &4335
C_NETHOSTIP equ &4336
Excellent, but I assume these all stop the Z80 while receiving, sending, connecting etc which is all ok until your network gets slow.Yes for each packet. Recv is only blocking when there's data in the buffer (so it'll only take the time it takes to move the data). I guess I could make send non-blocking too, ie. adding some kind of pull function to check if data was delivered.
Yes for each packet. Recv is only blocking when there's data in the buffer (so it'll only take the time it takes to move the data).
I guess I could make send non-blocking too, ie. adding some kind of pull function to check if data was delivered.
How much time does it take to move a packet? (and how big is a packet max?)Without having done actual benchmarks, max packet would be around 1500 and should take roughly 3-5 ms to move from esp to m4 with overhead af various things (z80 signaling & response handling).
If both the send and receive functions (and connect) were non-blocking or at least always executed in less than 300us then interrupts could be enabled allowing for such things as palette/mode changes while accessing the network. That is probably not necessary for most applications, but would be nice. Failing that, having 20ms max to connect/send/receive would allow frame based interrupts to occur so we could for example play music. I know that the standard FDC doesn't allow all that anyway unless you use special small sectors, but it would be nice for networking, and you probably wouldn't want your entire CPC to stop permanently because you had a flaky telnet connection for example.Yeah I see what you are saying, I may have to refine the work flow a bit and probably make connect and send non blocking too. Thanks for the input.
May be a little bit off-topic, does anyone have the skills to design an enclosure for the M4?Could I extend the question?
I wouldn't mind paying for a 3D print in an online service; the M4 board is awesome and I don't like the idea of it breaking because the PCB is exposed.
Hi everyone...What setting is the power jumper set to? And have you cleaned the edge connector recently?
i have one of this m4 boards and looks good... but on my 464 makes nothing =(
Card is connected to the floppy disc slot with a 2gb sd formated in FAT, after turned on the 464 makes 2 resets, the rom stay the same of 464 and "cat" command gives me "press play then any key:" response.
Im lost... any ideas?
Thank you!
Jumper is set to EXT, the card receive power, leds are turned on an reset button works... the edge conector is cleaned with isopropyl alcohol.
thx.
Please help...
What is the correct ROM Configuration to start BASIC V1.1 on a CPC464.
My XMEM is configured according Attachment and it works fine when i Change the ROM boot/noboot-Switch.
for m4 board I have tried the following Setting:
Rom slot 0 ... BASIC V1.1 (CPC664)
Rom slot 31 ... Lower ROM FW316UK32
Romboard start 0
Lower-rom Enabled YES
Lower-rom Slot 31
The CPC starts with FW 3.16-EN
BASIC 1.1
READY
But no Cursor.
perhaps missing the FW316EXP.ROM ?
On the XMEM, it is on Slot 01.
@robcfg (http://www.cpcwiki.eu/forum/index.php?action=profile;u=4) and elantraYeah clean the connector an extra time, even if you think it's clean.
thank you ill try to clean it deeper
@duke
I dont know my gatearray version and dont know what fw i have, any tutorial for update the M4?
Thanks.
XMEM is connected with the same connector at the same time, yes, but disabled with the "READ ROM NO/YES Jumper"
WEB and ROMAN with the same configuration in attach.
Romboard start is 0, not 1
XMEM disconnected, SD-Card formated and i save the new IP-Configuration on SD-Card.Just re-tested here with v1.0.8.
Flash FW3.15-EN and BASIC 1.1
The same. Ready... and hangs.
Started adding a bit of NET API, for now only TCP/IP functions (client), max. 8 connections. Probably full of bugs :)
Functions added so far:
C_NETSOCKET equ &4331
C_NETCONNECT equ &4332
C_NETCLOSE equ &4333
C_NETSEND equ &4334
C_NETRECV equ &4335
C_NETHOSTIP equ &4336
Download the sample telnet client source code below.
This is a total hack, with hardcoded IP/port and you cannot use del key.
I have not read any RFC's regarding telnet, so just a quick and dirty implementation (works with my router, maybe not much else).
For anyone wanting to make a proper telnet client, feel free to use this as you wish:
GitHub - M4Duke/telnet: Example telnet client for M4board (https://github.com/M4Duke/telnet)
There is a buffer for incoming data, which you "empty" using the recv command, you cannot receive more than in the buffer (which currently is only 2KB per socket, I may allocate some more space later). Actually I am considering mapping another rom for receive buffers.
Duke, thanks a lot for adding these commands, seems to be exactly what is missing for Z80 based network applications!
I have a few questions:
- are there any buffers for incoming/outgoing data? If yes, would it be possible to add a command for reading the buffer status?
- regarding the receive command; maybe I didn't get it correctly, but what happens if you request more data than which has been received? Will it wait forever?
- what's about a status command in general? "Connection status", "new data received"...
- and of course it would be nice if there would be a listen command as well :) (for implementing server apps)
To complete this UDP support would be nice, too, but since you already implemented DNS lookup on your side anyway, and DHCP is already done at the beginning I don't see so much sense in UDP support for the beginning.
V1.0.9 BETA. Get it here: http://www.spinpoint.org/cpc/M4FIRM_v109b.zip (http://www.spinpoint.org/cpc/M4FIRM_v109b.zip)hello again Duke.
Started adding a bit of NET API, for now only TCP/IP functions (client), max. 8 connections. Probably full of bugs :)
Functions added so far:
C_NETSOCKET equ &4331
C_NETCONNECT equ &4332
C_NETCLOSE equ &4333
C_NETSEND equ &4334
C_NETRECV equ &4335
C_NETHOSTIP equ &4336
Here is a small telnet client demo I was able to make with these:
[youtube]v_E7iINGBFE[/youtube]
Download the sample telnet client source code below.
This is a total hack, with hardcoded IP/port and you cannot use del key.
I have not read any RFC's regarding telnet, so just a quick and dirty implementation (works with my router, maybe not much else).
For anyone wanting to make a proper telnet client, feel free to use this as you wish:
GitHub - M4Duke/telnet: Example telnet client for M4board (https://github.com/M4Duke/telnet)
I haven't documented the new functions yet, but hopefully the above source will provide enough info for now.
hello again Duke.The telnet client is not very usable right now, it was mostly meant as a proof of concept and example for other developers.
my amstrad's works fine with your board. but how can i use telnet client on my CPC? Thank you.
Hi again...
After a deeper cleaning of the 464 connector with isopropyl alcohol, eraser and M4 fw update WORKS!
Now my problem is loading games, trying to load bruce lee i use the following RUN"BRUCEL~2.DSK" after hit enter CPC shows "File is already open", thats happend with all games, i think/need to enter to the .DSK but using the command |cd,"xxx.DSK" CPC shows "Type mismatch"
Any ideas? Thanks.
PS: I hope my explanation is understandable =)
@Duke (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1624)Some parts are (lowerrom and mappings). You could manually edit the romslots/romconfig files though.
Configuration is only wireless? I dont have any wifi network here to test now.
Later I will make send and connect non blocking too.TBH I can't find any "blocking" code in the Telnet source code. "sendcmd" returns directly after sending all data to the M4, and after each sendcmd you are reading the results immediately.
TBH I can't find any "blocking" code in the Telnet source code. "sendcmd" returns directly after sending all data to the M4, and after each sendcmd you are reading the results immediately.
(I sent you an email with several questions regarding the network API some minutes ago as well :) )
Some parts are (lowerrom and mappings). You could manually edit the romslots/romconfig files though.
I have attached predefined romslots.bin and romconfig.bin, if you copy these two files into m4 directory (from root) via pc and start up the cpc you will have basic 1.1 and fw316 in lowerrom, besides M4 rom is set to 7 (so not suitable for some regular CPC6128's).
If you get tired of them, simply delete the files again from m4 directory.
Duke, I have a suggestion/request for |DIR command: it's a bit annoying when you list a directory and there is a lot of files/folders into it as there is no way to abort the listing. BonnyDOS' |CAT command let you push spacebar everytime you want to freeze the listing: if you press space bar again, listing continues; if you push Return, listing aborts.
I've just made a CPCLoader collection with all the games of NVG extracted to folders similar to the one I made to use with BonnyDOS.
http://www.amstrad.es/cpcgamescd/NVG_CPCLoader_Games_Collection.zip (http://www.amstrad.es/cpcgamescd/NVG_CPCLoader_Games_Collection.zip)
Patching for not working games is welcome ;)
this collection is amazing, almost everything works that I tried (proper cracks!).Well, most of the work is by Nich Campbell (ftp NVG) and TroelsK (CPCLoader), I only put together the work of both of them.
This is with CPC6128+ and M4 rom mapped as rom7, thanks for the good work @MiguelSky (http://www.cpcwiki.eu/forum/index.php?action=profile;u=14).
All this needs is a quick navigator to get rid of the |cd, |dir navigation, maybe a quick scan for executable files and display full length directory names. Something I'd like to make if noone else is in the process 8)Yes! That sounds great!
Well, most of the work is by Nich Campbell (ftp NVG) and TroelsK (CPCLoader), I only put together the work of both of them.Ahh, I was looking for a long time for cracked games as most downloads were original dumps (mainly I found http://cngsoft.no-ip.org (http://cngsoft.no-ip.org) and CPCCRACKERS - DOWNLOADS (http://cpccrackers.free.fr/Downloads) with good cracks). Nice to have one huge collection.
Yes! That sounds great!
All this needs is a quick navigator to get rid of the |cd, |dir navigation, maybe a quick scan for executable files and display full length directory names. Something I'd like to make if noone else is in the process 8)
What about your fat browser creature name ? :olol no, let's see if I get started at all :) I feel very rusty when it comes to CPC UI programming...
Have you think about that?
hi Duke, got my Wifi cards today, so excited... but 4am so have to sleep for work... do you recommend i use it in place of XMem or in addition to?
I love seeing posts from @Prodatron (http://www.cpcwiki.eu/forum/index.php?action=profile;u=13) in this thread, hopefully this means a version of SymbOS that can be launched from the m4 micro SD card a: with WiFi might be coming. Please please please ;)You can already boot the "raw" version of SymbOS with the M4 from SD card in about 2 seconds :)
It would be so sweet to be able to launch symbos with a run"sym on the a drive with microsd speeds. ;)
You can already boot the "raw" version of SymbOS with the M4 from SD card in about 2 seconds :)Great news! Guess what I am playing with tonight ;)
During the last days/weeks Duke already added a lot of very useful API stuff to the M4 firmware. This will enable full SymbOS support very soon - both SD card access and networking. At least I am currently working on it and hope to have it finish somewhen in september.
GitHub - realmml/FW3.1x: A series of patches over the original Amstrad CPC (https://github.com/realmml/FW3.1x)
Great news! Guess what I am playing with tonight ;)And indeed it does. I love the fact that it reconnects the floppy drives after boot. So in theory, we could have symbos booted from the raw dsk image on the m4 SD card, and once running have the conf file on the SD card and retain access to the floppies. Wow. I cannot wait.
These basic roms are correct for m4? ROM List - CPCWiki (http://www.cpcwiki.eu/index.php/ROM_List#BASIC_ROMs)
And indeed it does. I love the fact that it reconnects the floppy drives after boot. So in theory, we could have symbos booted from the raw dsk image on the m4 SD card, and once running have the conf file on the SD card and retain access to the floppies. Wow. I cannot wait.Yes, I can't wait for this as well! :)
Yes, I can't wait for this as well! :)Not this week then. ;) CPC and m4 will be an awesome symbos platform.
Yes they are fine, but you may need to match them tough, if ie. using basic 1.1 from CPC664 you need to use lowerrom for CPC664 aswell.
Incase of fw316 you need CPC6128 basic.
Does this mean we will all be able to play CPC games, multiplayer in the future?Yes, it's up to the devs of future games of course. It should be fully possible with the 2nd beta api, at the cost of a couple of rasterlines per frame.
Hi Duke,Hi Octoate,
during the Evoke I played around with the networking and had trouble connection to my WiFi network via the Netstat command. The WiFi name contains spaces e.g. "ABC Cdefg 1" and I wasn't able to set it up - however, using the config file on the SD card worked fine. The firmware was version 1.0.8. Is this a known issue?
And another question... working in a network with more than 400 people, some people think that it is funny to reset the CPC during playing or working with it ;-). A simple password protection for the webinterface would be really nice :D .
Does this mean we will all be able to play CPC games, multiplayer in the future?
Got the cards!! When I have some free time I will test them. Is there any roadmap for UDP?
My idea is to make some kind of BSD sockets lib for SDCC (CPCtelera, etc) because I have a port in mind. But I need UDP. No hurry!!!
HiYou can use all the M4 RSX commands on a CPC464 with basic 1.0, instead of passing arguments directly you need to use a variable.
I have access to a wifi network so i trying to configure the M4 for FW316ES and CPC6128 basic 1.1 through the web interface but the RSX commands to setup the wifi network doesnt work with basic 1.0. What can i do?
I was using a program called ROMAN to manage rom slots but on a CPC464 cant import any file... so no more ideas.
Finished the driver and need to do a lot of tests now.
[attachimg=1]
Thanks so much to Duke for this very generic network API and your fast replys and useful modifications! Unfortunately I am not home during the next days, but hopefully there is more progress on the XzentriX 8bit retro meeting next weekend! :)
My idea is to make some kind of BSD sockets lib for SDCC (CPCtelera, etc) because I have a port in mind.The multiplayer tank network game for the SpectraNet?? :P
The multiplayer tank network game for the SpectraNet?? [emoji14]:) just a thought I had last night.... Does the raw version of symbos also boot on a xmass? Sorry for going off topic here.
I am currently using UDP only for DHCP and DNS lookup, and as this is done by the M4 anyway I am currently not missing it, but I can imagine that it is useful for future projects as well. Hope to finish the TCP function tests this weekend.
So long symbiface2, your time has gone!
You can use all the M4 RSX commands on a CPC464 with basic 1.0, instead of passing arguments directly you need to use a variable.
Ie. for setting up the network:
A$="name=CPC464, ssid=NETGEAR, pw=12345678, dhcp=1, dns1=8.8.8.8, dns2=8.8.4.4"
|NETSET,@A$
(edit the ssid and pw to match your router or access point).
Afterwards check the netconnection using:
|NETSTAT
As for managing roms from the CPC itself, you need to use |ROMUP, |ROMSET & |ROMUPD (refer to manual: http://www.spinpoint.org/cpc/m4info.txt (http://www.spinpoint.org/cpc/m4info.txt)).
Unfortunately you need the webinterface to set up the lowerrom.
@Prodatron (http://www.cpcwiki.eu/forum/index.php?action=profile;u=13): Great work! - Hope there isn't too many bugs in my API, we shall see :)
And another question... working in a network with more than 400 people, some people think that it is funny to reset the CPC during playing or working with it ...
:) just a thought I had last night.... Does the raw version of symbos also boot on a xmass? Sorry for going off topic here.
Back on topic again, with symbos booting so quickly from the m4 SD card are there any advantages to the ROM version any more? Once this network and m4 storage version is release I think we will have a new king for symbos hardware. So long symbiface2, your time has gone!
Is the device I/O based? And in that case the hardware could be compatible for the MSX as well ;)Partially, commands are send via ports, but responses are put into a memory mapped rom area (M4 ram).
Another little v1.0.9 beta : http://www.spinpoint.org/cpc/M4FIRM_v109b6.zip (http://www.spinpoint.org/cpc/M4FIRM_v109b6.zip)I am so definitely gonna be playing with this tonight.
Besides some small changes to netapi (will document later...)
Added one super cool feature - I think atleast 8)
Upon bootup / reset, it will now look for AUTOEXEC.BAS in root directory and if found, launch it first thing.
Example AUTOEXEC.BAS, to set your own custom colours
10 INK 0,0
20 INK 1,26
30 BORDER 0
save"autoexec.bas"
Please test and let me know if any issues or undesired sideffects (it's a bit of a wacky hack...)
I am so definitely gonna be playing with this tonight.
Partially, commands are send via ports, but responses are put into a memory mapped rom area (M4 ram).
@myrsky (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1856) : Try attaching a zipped version of your romslots.bin & romconfig.bin. However the version I attached earlier should have worked just fine (it did on my 464).
Just noticed you say inifinite reset loop, perhaps try to clean connector again.
Also another suggestion, try to use lowerrom from CPC664 and upperrom from CPC664 to see if that works. (OS.rom is lower, Basic.rom is upper)
Booting from scratch 464 never made automatic reboots, these screen garbage and reboots come after wireless config. This is the last config i did...What powersupply are you using? - Perhaps you should try to add a USB power supply directly to the M4 board and change jumper then interference will go away.
PS: When i make wifi transfers to the 464, i hear interference in the internal speaker, thats only like curiosity nothing important.
The multiplayer tank network game for the SpectraNet?? :P
Hi Duke. I am wondering with the web interface... where is it served from? Could a wwwroot be served from a wwwroot folder on the sdcard if one exists?It's served from the flash on the ESP module, but you should be able to just place files on sd card and write http://name/sd/ (http://name/sd/) (or ip) then it will read from root of sd card, just prefix all links with /sd.
If http://host/ (http://host/) reads from sd/wwwroot and http://host/setup (http://host/setup) opens de setup panels then you have the CPC web server done xD
If the /sd full access is configured as an option to deny http://host/sd (http://host/sd) and a file at m4/setup.txt for basic auth, then you are done.
Will be funny to edit html with tasword at wwwroot and serve it to the world... LOL
Using SymbOS Cluster Server or FutureOS NetWarp :P :P
Guys, it's already running on one, haven't you noticed the stability improvements?;) with 512mb extension I guess
Very good! I have now an empty sockets lib and the example "open connection and say OK" code is ready under SDCC.There has been some more changes, that I haven't documented yet and I also found bugs(!). The socket status can now contain 3 if remote closed connection, so you can check before recv() instead of looking for 0xFE return from recv().
Now is time to fill in the gaps and make null returning funcs usable.
The only docs are the M4info.txt and the telnet example? Looks like I can go on with that. And the read buffer is accessed by turning on the M4 ROM at &C000 and go to the offset pointed at M4info.txt. Well, ok :D
Using SymbOS Cluster Server or FutureOS NetWarp :P :P
Maybe I take other of the examples from de spectranet TcpIp sources like the irc client :laugh: :laugh: :laugh:That would be very cool :)
hello DUKE is possible to have all the firmwares in one directory?Hi anyf33,
you can add a directory for example FIRMWARE and access via ftp
and add as a sign to the end of every message in cpcwiki
also another way is to add a link to a folder on a dropbox acount (also in your sign) .
you can have a sign like CPCWIFI http://www.spinpoint.org/cpc (http://www.spinpoint.org/cpc) for the m4info.txt
thank you
Hi Duke,Depending on what else is plugged into the mother4x you might not need the extra power connected at all. Mine runs just fine with m4, albireo, rtc and xmem all at the same time. If I swap any if them for my playcity or minibooster then I need to add the 5v.
Just wanted to let you know that I finally received Tot0's Mother4x and the adapter cable
for Schneider CPC.
Unfortunately I was not able to test the board with the Mother4x itself as it needs a power adapter
and I do not have one.
Anybody who uses the Wifi board wih the Motherx4, could you please let me know what kind of
power adapter I need? Thanks a lot! (I do not want to experment and risk wrecking my hardware...)
I was able to test the board directly with my CPC using the adapter cable!
It worked like charm! Thanks for doing this, it is really neat board! :-)
What I discovered so far:
-I was able to upgrade the firmware via the net interface without problem.
(Just one remark, would it be hard to display all the version information?
like M4 v1.0.9.b8 ? Currently it just displays v1.0.9 so I have no way of checking
if the upgrade went ok in between the same major version.)
-Rom upload via the website does not seem to work correctly, it seems to upload the rom only to slot 0.
- |ROMUP command works fine :-)
- Webinterface lists "ROM" for every rom I uploaded.
- I tested the modified lower rom you posted. Uploaded it to slot 31, the "Rom number" in the web interface set to 6, then I checked the "lower rom" checkbox. The system booted up just fine, I did not detect any difference, although I did not check it with games.I noticed one problem however. With this setup, whenever I turn off the cpc and turn it on again, I am getting a black screen and the system won't boot.I need to turn off the m4 board too, then turn on everything back again, so the system would boot. Unchecking the lower rom check box does not help.But if I remove the uploaded rom from slot 31, then I am able to turn off and on the CPC normally. (Without turning off the M4 board)
- I uploaded Symbos 2.1 roms onto the board and I also copied the contents of the system and app disks into the root folder ot the SD card. After booting symbos, I was unable to load anyhting. I am getting the following error:
"Error while loading:
A disk error occurred during the loading process (error code 26)"
Anybody tried/had success with Symbos?
I do not have any RAM board (yet), just the Wifi board and the CPC.
Symbos probably needs proper driver for the Wifi board to work....?
Anyway, sorry for the long post, I will let you know if I find anything else of
interest!
Tamas
@CraigsBar (http://www.cpcwiki.eu/forum/index.php?action=profile;u=482)
Thanks, for your response. Currently I have the m4 wifi board only, I plan to add a x-mem RAM/ROM card for extra RAM.
If there is a M4 board with mouse support that Symbos can recognize, I would buy one of that as well. :-)
(Using the joystick for Symbos feels I am using GEOS on the C64 :-))
<snip>
Hi
<snip>
P.S. About mouse, can any do the symbiface2 mouse part in a standalone board for MX4? symbos will work instantly, and trust me, it work flawless!
@Joseman (http://www.cpcwiki.eu/forum/index.php?action=profile;u=135) , perhaps USB Mouse adaptor by Bryce is the thing you need USB Mouse Batch. (http://www.cpcwiki.eu/forum/amstrad-cpc-hardware/usb-mouse-batch/)I have 2.... But joymouse is not the way to go after having an analog proportional one.
... About mouse, can any do the symbiface2 mouse part in a standalone board for MX4? symbos will work instantly, and trust me, it work flawless!
How can it be proportional... It still uses the joystick port.Off-Topic:
There are more easy ways to have a proportional mouse (means not to waste a slot of the MX4), for example this one:
Atari-ST mouse adapter - CPCWiki (http://www.cpcwiki.eu/index.php/Atari-ST_mouse_adapter)
Marconi - CPCWiki (http://www.cpcwiki.eu/index.php/Marconi)
Or a bit harder to get:
Kempston Mouse - CPCWiki (http://www.cpcwiki.eu/index.php/Kempston_Mouse)
CPC-Mousepack 2.0 - CPCWiki (http://www.cpcwiki.eu/index.php/CPC-Mousepack_2.0)
The MultiPlay can handle two proportional Amiga mouse. (PS/2, USB and ST with adapter)And like the albireo is waiting for a symbos driver. I don't mind, as I have both devices, but as the Amiga dies not support scrollwheels it might be better to use the albireo and it's USB socket.
@Duke (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1624) , maybe if you find some time could you make and upload other language (FR I'm mainly interested in but I'm sure ES will get some attention too) versions of your modded lower ROM for game compatibility?
It would also be awesome if one could check the SD card contents and upload / download files or directories from a PC. Much like the "Files" page of the M4 server, but more like a FTP client ;) Or at least being able to upload a whole directory with subdirectories would be nice! Being able to browse the sd card content from Chrome or whatever would work just as great.
Btw for people who may not have noticed it (I just did...) you can download a file to your PC using the xfer tool obviously, but also by typing for example "http://yourcpcIP/sd/M4/config.txt" (http://yourcpcIP/sd/M4/config.txt");;;; in your browser.
Maybe (as many people will prefer to connect the microsd to their pc), an easier solution would be enabling access to the sd card files via the M4 board usb port? Don't know if that's possible...
I can't believe how great this board is!!
How can it be proportional... It still uses the joystick port.
M4 connects directly to the router, and thus the internet.
It never was, as it always connected directly to the router/AP. PC is only needed to access the webinterface for settings :)
That's extremely wonderful! So the PC is NOT NEEDED any longer! ;D
@Joseman (http://www.cpcwiki.eu/forum/index.php?action=profile;u=135) , perhaps USB Mouse adaptor by Bryce is the thing you need USB Mouse Batch. (http://www.cpcwiki.eu/forum/amstrad-cpc-hardware/usb-mouse-batch/)
Hi @Duke (http://www.cpcwiki.eu/forum/profile/?u=1624),
Just wanted to let you know that everything works now: Wifi Board with Motherx4 and the lowerrom setup as well.
Probably had some contact issues, I re-attached eveything more firmly than before and now everything works. :-)
Thanks for you and @TotO (http://www.cpcwiki.eu/forum/index.php?action=profile;u=290) to make this happen!
I have only one problem to report: when I try to rease a file, I receive an
"AMSDOS not initialized" I simply used: |ERA,"<flename>" format.
I am not sure why is this.
Tamas
All this needs is a quick navigator to get rid of the |cd, |dir navigation, maybe a quick scan for executable files and display full length directory names. Something I'd like to make if noone else is in the process 8)Will come , but this will take time (Until the end of the year?).
** All credit goes to Duke who made the english version. I just checked how he made it and reproduced the work. Please do not repost on the wiki or somewhere else as Duke requested this mod to be well tried before spreading it. FYI space is borrowed in the firmware by placing code instead of the *** PROGRAM LOAD FAILED *** message. **Thanks dxs, almost forgot about it :) Btw. instead of *** PROGRAM LOAD FAILED **, it will print "FAIL".
Extremely cool Prodatron. However, keep in mind that having conversations with yourself may land you in the mad house! :)
Today I finished the first version of the M4Board SD card driver for SymbOS:
Hope to play SymbOS network games soon with You! At least there already two SymbOS network games ready now to play!!!
I cannot wait for this. With my 4g router my CPC really will be mobile internet capable ;)
Now to restart from zero the whole socks lib :picard:
Some problems with git... I have created a new repository and when trying to upload it says bla bla bla want to upload older files bla bla and then it deletes my local files :o and no backup....
Fortunatelly because of the new API and my disaster now I can code in a cleaner way as I was thinking of the old code "what a dirty way of calling that function...." :P
Hope to bring good news!!
I'm separating the lib from the logic part in C and the hardware talking part in asm. Now is more cleaner than I had earlier at the lost code.
My goal is go make a C lib that will let us compile simple *nix net code with the fewer changes possible. And also as compatible as can be with, for example, spectranet examples so we can have many work done for future developments.
The ZX spectrum has a simple net filesystem sharing. As you have filesystem inplemented at your rom, maybe in the future can be expanded to use A/C drive at the microsd and D, E and F as net shares. All the code of the server at Linux or Windows is done. Also a Z80 server can be done.
WebSVN - Spectranet - Rev 576 - /trunk/tnfs/ (http://spectrum.alioth.net/svn/listing.php?repname=Spectranet&path=%2Ftrunk%2Ftnfs%2F#path_trunk_tnfs_)
But... it needs UDP... For the future :)
OffTopic(? ;) ) Feature request:How about C_READDIR2, to directly retrieve long file and dir names, or you want the 8.3 ones too?
New Command 0x4316: Get the Long-Filename/Dirname, needed 8+3 Filename as the parameter.
For Command 0x4306 optional parameter (or as a new command): Get the Long-Direntries, maybe the filesize (in Bytes?) separated in the first 4 Bytes of the response?! (maybe the same separation on the original "4306"-Command?!)
How about C_READDIR2, to directly retrieve long file and dir names, or you want the 8.3 ones too?Thanks Duke,
@Prodatron (http://www.cpcwiki.eu/forum/index.php?action=profile;u=13): very cool. The movie seems to work faster than before or is it because of the size? How did you do the movie? What is the tool do you use (SymStudio)?Yes, in general it's faster, as I wrote in my previous post: Using LDI instead of INI:INC B increases the transfer speed from 6 microseconds/byte to 5 microseconds/byte - that's already measurable.
Firmware V1.0.9 final released.Will upgrade my 2 tonight.
If you have not upgraded to any v1.0.9 beta, you can use |upgrade command.
Otherwise, you must download it from here and unpack the files to the root of your microSD card.
M4 Board - CPCWiki (http://www.cpcwiki.eu/index.php/M4_Board#Firmware)
Do not keep v1.0.9 beta in your M4.
Updated to v1.0.9 tonight and found an interesting bug by accident.OK first bug (invalid directory) recreated here.
I changed to a directory that didn't exist because of a typo. Although an error was shown saying no such directory if I ran a 'cat' command rather than showing the root directory as expected it showed an empty one which I had to then |cd,".." to get back.
One other thing that doesn't seem to work for me anymore is mounting DSK files. I can CD to an image and it lists the directory as expected but when I try to run any files inside the image my 6128 Plus just reboots. This first started with 1.0.6 but seemed to get fixed in 1.0.7 but broke again since 1.0.8 and still doesn't work in 1.0.9. All of these upgrades have been undertaken via the |upgrade command - should I redo the install/upgrade via the SD card to see if it's an update fault?
Updated to v1.0.9 tonight and found an interesting bug by accident.
I changed to a directory that didn't exist because of a typo. Although an error was shown saying no such directory if I ran a 'cat' command rather than showing the root directory as expected it showed an empty one which I had to then |cd,".." to get back.
Updated to v1.0.9 tonight and found an interesting bug by accident.
I changed to a directory that didn't exist because of a typo. Although an error was shown saying no such directory if I ran a 'cat' command rather than showing the root directory as expected it showed an empty one which I had to then |cd,".." to get back.
Updated to v1.0.9 tonight and found an interesting bug by accident.
I changed to a directory that didn't exist because of a typo. Although an error was shown saying no such directory if I ran a 'cat' command rather than showing the root directory as expected it showed an empty one which I had to then |cd,".." to get back.
One other thing that doesn't seem to work for me anymore is mounting DSK files. I can CD to an image and it lists the directory as expected but when I try to run any files inside the image my 6128 Plus just reboots. This first started with 1.0.6 but seemed to get fixed in 1.0.7 but broke again since 1.0.8 and still doesn't work in 1.0.9. All of these upgrades have been undertaken via the |upgrade command - should I redo the install/upgrade via the SD card to see if it's an update fault?
My testing experience on this: no new bug in version 1.09, it'a previous fault from the very beginning. I observed that changing to dsks working in one SD card didn't work in another (format another SD and put just your faulty file to test it, it works!, i.e. you can cd and run). My final conclusion on this was that you have to take care to not fill the SD with more stuff than 512 MB, to avoid the problem start again.
After finishing the SD card support I went back to the network part and added some additional stuff: As the M4 can of course only handle one command at the same time, I had to take care, that inside the SymbOS multitasking environment I don't fire a second command until another one isn't finished. So SD card access and network access shouldn't disturb each other. This is fixed now. Currently it is solved more or less in a rude way (locking interrupts), but I hope I can have a better solution later by using semaphores.
Anyway some more things have been fixed, and here you see, how you can download the CPCWiki.eu mainpage with your Amstrad CPC + M4:
[youtube]https://www.youtube.com/watch?v=_7CsIOq1_qY[/youtube]
WGET with SymbOS CPC using the M4Board:
https://www.youtube.com/watch?v=_7CsIOq1_qY (https://youtu.be/_7CsIOq1_qY)
I did a domain lookup with NSLOOKUP just for testing before downloading the startpage with WGET and displaying it with the TYPE command.
There are still some nasty bugs which I want to fix until releasing a new Beta version, but such a release especially for the M4 version should happen very soon.
CU,
Prodatron
Anyway some more things have been fixed, and here you see, how you can download the CPCWiki.eu mainpage with your Amstrad CPC + M4:
[youtube]https://www.youtube.com/watch?v=_7CsIOq1_qY[/youtube]
I did a domain lookup with NSLOOKUP just for testing before downloading the startpage with WGET and displaying it with the TYPE command.
There are still some nasty bugs which I want to fix until releasing a new Beta version, but such a release especially for the M4 version should happen very soon.
CU,
Prodatron
Whoa. So that was that DOS attack thing yesterday.Firewalls should update and extend their wording from now to AMSDOS attack. :laugh:
Do you have an edge connector or a centronics one?
In the cas eof an edge connector, I'd clean it thorougly. Then I'd try to power the M4 board externally.
Any other expansions you have connected?
The directory bug I can re-create. Will fix it asap.Interestingly this afternoon I've pulled out the SD card and reinserted it and all seems to be working fine! The card showed no other signs of not working and everything else was functional!
But I don't have any problems with the DSK images (standard single sided). I am using a cpc6128 plus too, what is your romconfig ?
If you dont use other expansion, then yes plug cable directly into M4 (no need to use usb power).
Using MX4 with M4 and no external powersupply is likely the root to your problems.
Hi,
I know this is slightly off topic, hope this is not a problem.
I am experiencing stability issues with my Schneider CPC 6128.
Mostly these are in the form of freezes, lockups: e.g. when I turn it on, and M4 boots,
and I run CAT on my root folder, sooner or later the CPC will corrupt the screen
(often just slightly), usually after 2-4 cat commands. Games that are loadable,
sometimes load, sometimes does not. (This time, screen corruption is heavier)
I have to try a few times then they load.
When I tried the |upgrade command yesterday to upgrade from 1.0.9 beta the CPC
just froze.
Does anyone had the same experience?
I would say that I suspect that my CPC that is faulty and not the M4 board.
Do you know guys anyone who would take on CPC repair?
I am afraid my soldiering skills limited to making cables
and I do not have the necessary knowledge to take on a task like this.
(I usually make things worse when I try :-) )
Any help would be very much appreciated.
Tamas
But it did not work with the Motherx4, even if the M4 board was powered with
usb power.
@Maniac (http://www.cpcwiki.eu/forum/index.php?action=profile;u=930)
No idea what went wrong there, hopefully it wont happen again :)
Did you change the jumper from EXT to USB when powering via USB ?
@myrsky (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1856)
I pm'ed you sometime ago, not heard back. I am sure we can resolve your issue.
@tvandor (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1502)
Ok. And thanks for the info about IE. in win 10 (did you try Edge too?). You should all use firefox anyway, its better :)
-Nah I may need to address the browser issue next time around.
Hi Duke and Zaxon... or... has anyone gotten an M4 wifi card with microsdcard working togethrr with a Zaxon 6128 floppy emulator with usb stick?
Yes utopia should be after M4 rom or it'll catch the RSX for |era
Lastly you could mount M4 rom after AMSDOS and code a small app to copy stuff from floppy to sd.
As for browser, use firefox. Ie. chrome will ignore my slot paramters so all uploads end in rom 0 (overwriting basic and therefore crashing!).
After finishing the SD card support I went back to the network part and added some additional stuff: As the M4 can of course only handle one command at the same time, I had to take care, that inside the SymbOS multitasking environment I don't fire a second command until another one isn't finished. So SD card access and network access shouldn't disturb each other. This is fixed now. Currently it is solved more or less in a rude way (locking interrupts), but I hope I can have a better solution later by using semaphores.
Anyway some more things have been fixed, and here you see, how you can download the CPCWiki.eu mainpage with your Amstrad CPC + M4:
[youtube]https://www.youtube.com/watch?v=_7CsIOq1_qY[/youtube]
I did a domain lookup with NSLOOKUP just for testing before downloading the startpage with WGET and displaying it with the TYPE command.
There are still some nasty bugs which I want to fix until releasing a new Beta version, but such a release especially for the M4 version should happen very soon.
CU,
Prodatron
I do wonder why override C though and not let that go to the RAM Disc because then the RAM Disc would at least survive the reset between switching M4 on and off. Pitty the RAM Disc wasn't aliased as |M though also as that would have been better than |C - for when we have another dozen drives in future...
I will try utopia in 6 and M4 in 5 and see what I get, utopia's |load and |medit are useful for now.Multiple mouse solutions exist already. My favourite is the albireo, which provides microsd card storage as well as a USB controller. I hope that this is the next card @Prodatron supports in Symbos, at least a mouse on the USB socket ;) the serial port and microsd would be interesting but far from urgent... Is there really a need for multiple hard drives in symbos?
I did try M4 rom at position 8 and it just crashed my machine (6128plus). Luckily the Wifi board still worked so i could just set it back to 6 or 7. The way the current ROM is coded overwriding A and C it seems it is just as compatible in slot 6 or 7. I do wonder why override C though and not let that go to the RAM Disc because then the RAM Disc would at least survive the reset between switching M4 on and off. Pitty the RAM Disc wasn't aliased as |M though also as that would have been better than |C - for when we have another dozen drives in future...
Interesting Chrome behaviour... thanks. Actually i didn't think they are faults of the M4 board, more I don't think the CPC community is used to making their things work together because in the past we never had such cool hardware. The same for downloads - what is the point of zipping everything when we download a DSK file that is ZIPped it doesn't really help CPC owners trying to fetch stuff... I guess soon i will need to put an unZIPper that works with M4 onto ROM.
Regarding slots 32-63... in the webserver, i set the starting ROM to 32 and that is it? I am guessing just the slot numbers don't renumber and in my head I add 32 to each?
As Richard who created X-MEM said, it is a pitty to waste his 32 ROM slots. Maybe we need to modify CPC startup to scan all 64 ROMs now instead of 32 only. The 2 boards work really well together otherwise...
Needed: 1. X-Mem RAM Disc aliased to |M and working when M4 ROM is enabled. 2. CPC to scan 64 ROMs on startup if possible. 3. And from the ROMan 2.0 author Syx? Being able to see files on the SD Card of a M4 board. 4. Zaxon's USB drive B board to work in parallel with M4 card - seems to be some type of ROM conflict, not a hardware one. 5. people to share RAM in a con-conflicting way, and Mouse, and Sound Card... these I believe will come, if adopted though is another thing... can only hope.
I think I'm late, I wish again to see another list to sign up. :'( :'( :'( :'( :'( :'(I do still build them. Now I just buy small quantities of components to not end up with a waste pile.
I think that SYMBOS with M4 support could be comercial (asking a small amount 5-10 to have m4 support). It could be a good hint for Podatron to continue support for M4. Of cource i dont know what is podatron opinion.Thanks for the nice offer, but I don't want to make SymbOS commercial. M4 support is nearly finished - the SD card of the M4 was running during the whole weekend during a Retro computing exhibition 100% stable - so there will be a release soon.
Also i have a question for Symbos : how memory do why need ? 128k or more?SymbOS requires 128K as a minimum, in this case you have about 32K free for applications. That's not that much if you want to have the full multitasking experience. So a memory expansion is recommended (e.g. the X-MEM).
I can confirm that symbos does indeed allow access to the floppy drives, so when prodatron releases the m4 storage/WiFi version I see no reason why copying won't work.Yes, you have full floppy access in SymbOS when using the M4 as well, so you can transfer all data between Amsdos discs and the FAT32 SD card of the M4Board.
My favourite is the albireo, which provides microsd card storage as well as a USB controller. I hope that this is the next card @Prodatron (http://www.cpcwiki.eu/forum/index.php?action=profile;u=13) supports in Symbos, at least a mouse on the USB socketThere is no choice at the moment, an Albireo USB mouse driver is really required, if you replaced the SYMBiFACE II with the M4Board, X-MEM etc...
Yes, you have full floppy access in SymbOS when using the M4 as well, so you can transfer all data between Amsdos discs and the FAT32 SD card of the M4Board.I have replaced my symbiface with an m4 etc... So I really hope to see an albireo mouse driver soon ;)
There is no choice at the moment, an Albireo USB mouse driver is really required, if you replaced the SYMBiFACE II with the M4Board, X-MEM etc...
Technical question:
I have copy some files/directories from my PC to the SD-Card, example:
"Computing with the Amstrad 1988" (Directory)
"Misc Group Demos" (Directory)
"Odiesoft Games - Reaktor (1988)" (File)
The "CAT" on my Amstrad shows me:
"COMPUT~1"
"Misc Group Demos"
"ODIESO~1"
I am suprised of "Misc Group Demos" - why the Amstrad don't display "MISC G~1"?
Taken straight from the manual :)
Is there any way of displaying the current directory? If I remember correctly, neither cat or IDIR commands show this information. I think an IPWD command would be really useful.There is a command to get the current path (C_GETPATH) but there is no RSX using it, its a good idea to list the active path within the cat/|DIR (will add it next time around).
Also, is it possible to copy a file (using ICOPYF command) from inside a .dsk file to the root directory of the SD? I did not have any luck with it, getting a "Not supported" message, so the workaround was to load the file (it was just basic), get to the root directory and save it.
Looks great ! And glad to hear multiple connections is working too :)
Good work @Prodatron (http://www.cpcwiki.eu/forum/index.php?action=profile;u=13) and @Edoz(MSX) (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1188)
Question:
I'am a little bit confused with all the information in this thread how to use the M4 together with X-MEM.
Is there a short description or can someone explain it to me step by step - which ROM belongs to which slot? :-)
I'am using a CPC6128 (german)
After the M4 introduction of directories and .dsk files, I decided I needed a disk navigation program to avoid all the typing for changing directories.
I didn't want to start from scratch, so I modified a very nice little program (Disk menu by Joe Halstead) in order to support directory navigation.
I am posting the .BAS code and the converted ASCII file (.TXT) in the hope that other members of the community will find it useful.
Some instructions for use :
- save it in the root folder of the SD card, use cursor keys for navigation
- Space Bar gets inside directories or selects a file for Load,Run. Cancel lets you select another file
- "O" key gets out of a directory
- Since the original program used CAT command and this has not been modified, it probably will not work well with cards having hundreds of files.
Very good i use it renamed as autoexec.bas , so it is starting when i open my cpc!
one only question how can i exit?
The only trick i found is to load a .s file that gives me "line too long" to exit!
thank you for the .bas file
:o it works . I feel so noob! :doh: but i remerber that there is a way to prevent this. 29 years passed and i dont remember more :laugh:
Have you tried pressing ESC key twice? It is a general exiting mechanism from basic programs.
Attached is a slightly modified lowerrom for cpc6128.
This is for CPC6128 users who cannot not set M4 rom to 7, which breaks compatiblity with many games, that re-initialize amsdos (rom 7).
With this lowerrom you must set M4 rom to 6, then enable lowerrom and upload this to whatever lower rom slot you choose (ie. 31).
When games (loaders) call init rom 7, rom 6 (m4) will be initialized instead.
If there's interest I may make the patch a little more intelligent so that M4 rom could be at any pos.
Thanks, I guess there is no way it'll work at the same time of FW3.16 ?
No, as both are lowerroms, however the small patch I did, could be done similarily on fw3.16.
Hi duke. Any chance you could allow remappimg the roms of m4 to 64 to 95 (allowing 96 roms with xmem and ymem)? I am wanting to experiment with a romdrive concept but also dont want to lose the roms on any of the boards... would seem a pitty to. You could argue why have a romdrive if we have sdcard. .. well... its there.You can already map at 64 (or any other pos you want). Just set the starting pos in the webinterface.
Noted, will change it when I get a chance, thanks.
You can already map at 64 (or any other pos you want). Just set the starting pos in the webinterface.
Am I the only one that can't do that with V9 ?
I tried with firefox (starting pos : 32) and chrome, but it stayed at slot1,2,3...
i remember it worked in some of the previous version...
(test : same with v10beta)
Notice on CPC's with Basic 1.0 (CPC464), RSX commands work in a different way, you can't pass the parameters directly to the rsx.
You will have to do it via a variable.
Ie. change into a sub directory called "DISCS". Type: A$="DISCS":|cd,@A$
On basic 1.1 it would be: |cd,"DISCS".
Hi Duke,
My two boards arrived safely today. Thank you.
I quickly tried one on a 464 and noticed something cool that may have been mentioned in this long thread, but the latest 'M4 Board Instructions' does not mention it.
The Instructions mention...
This fine works, but I found something that also works with .dsk files.
Type |CD press enter.
at this point is waits for a response.
put in the .dsk files e.g. <filename.dsk>
and then the dsk is now opened.
A cat will display the contents.
It may be old news, but I could not find it. Probably does not hurt to repeat it anyway :)
Cheers,
Shane
The slot numbers will display the same in the web interface, physically they will change though.
Last request (don't know if it's feasible) : is it possible to keep the RAM Drive of the XMEM with the M4 Board activated, it would help greatly the transfers...
I just got an XMEM recently (thanks Toto!). I don't know how the RAM drive works. I guess you need fw316, how do you access it ? -do you need some upper rom also? Thanks. Will look into it, once I see how it works.The ram drive feature has been removed from 3.16, 3.15 has it but it clashed with the xmass so was removed.
syMIRC written by EdoZ using the Quigs IDE by Trebmint is getting better an better. Beside filtering all the unnecessary server messages during login and chat session it now has multiple channel support as well. We had some nice chats in the #CPC channel this evening with a CPC6128 + M4Board, an MSX + Denyonet and some "normal" PCs :):) :) :) I can't wait to join you online from a CPC :) :) :)
(http://www.symbos.org/files/symirc-3.jpg)
(http://www.symbos.org/files/symirc-4.jpg)
(http://www.symbos.org/files/symirc-5.jpg)
I can't wait to add USB mouse support for the Albireo!
Hi All,
Just wondering if anyone has tested the M4 on a 'Cost Down' MC0099A mainboard CPC464 ??
The one with the 100pin SMD Gate Array (combines the old Gate Array, CRTC, and some FDC/DRAM/RESET logic in one chip).
http://www.cpcwiki.eu/index.php/Mainboard_Versions#CPC464_version_4_.28cost-down.29 (http://www.cpcwiki.eu/index.php/Mainboard_Versions#CPC464_version_4_.28cost-down.29)
I have been using the M4 fine with an older 464, and tested pretty much everything with it and all good.
But my 464 with the 'Cost Down' mainboard just cyclic reboots.
I have thoroughly cleaned the edge connector contacts.
I have moved the M4 ROM between positions 6 & 7.
I removed the SD card altogether.
During the cyclic reboot the M4 ROM name is never displayed.
I can still communicate with the M4 via the web browser (config file on SD card from other CPC setup).
Testing a normal ROM board on this CPC is fine so assuming the connector contacts are all OK.
The 'Cost Down' 6128 also has the same 100 pin SMD chip (40226) so interesting if anyone has tested an M4 with one of those as well.
http://www.cpcwiki.eu/index.php/Mainboard_Versions#CPC6128_version_3_.28cost-down.29 (http://www.cpcwiki.eu/index.php/Mainboard_Versions#CPC6128_version_3_.28cost-down.29)
Cheers,
Shane
Hi 00WReX,
You are probably the first to try this I guess.
Try to disable M4 rom (and dont have any other roms enabled). I am curious if the CPC464 cost down will start up without entering reset loop?
Regards,
Duke
The question is not new and always the same: When the CPC is no more a CPC?Taking control over the Z80 with a MCU (your ARM, Arduino, ...) allow everything. The CPC is finally a simple terminal to input and display.;)
quote author=TotO link=topic=11977.msg129559#msg129559 date=1467290448]The question is not new and always the same: When the CPC is no more a CPC?Taking control over the Z80 with a MCU (your ARM, Arduino, ...) allow everything. The CPC is finally a simple terminal to input and display. ;)
Reading the thread when Reading your post remember me on thing.
You have described how superfx chip works in snes. Fx do all the job, and he only send to snes vídeo memory what snes draw in screen.
If you asking a player when is playing Doom or super Mario world 2. If a snes is not a snes anymore. I dobut they respond no. They probably tell sfx is a great chip and desmotrate the power of snes.Because snes is designed to allowed these type of chips. And is a part of the system.
Only remember the history
PD: i not know what happend with the font is write o.k. lol.Quote
The Font is a bit small ?
Ray
Hi 00WReX,
You are probably the first to try this I guess.
Try to disable M4 rom (and dont have any other roms enabled). I am curious if the CPC464 cost down will start up without entering reset loop?
Regards,
Duke
Hi Shane
I did end up using a form of microscrub on them (old telephone exchange contact cleaner that I have had for years...does wonders but I use it sparingly although it is not really abrasive, just a firm like bristle).
Cheers,
Shane
Reading the thread when Reading your post remember me on thing.I have not said that is bad to do it, but asking again "when we can considerate the CPC to be no more a CPC"...
If you asking a player when is playing Doom or super Mario world 2. If a snes is not a snes anymore. I dobut they respond no. They probably tell sfx is a great chip and desmotrate the power of snes.Because snes is designed to allowed these type of chips. And is a part of the system.
You can make a very useful little "scrubber" by wrapping a piece of Velcro (Klettverschluss), the "hook" side, around a stick (Mine is made from a Chopstick). It's soft enough not to do any damage to contacts.
Bryce.
I have not said that is bad to do it, but asking again "when we can considerate the CPC to be no more a CPC"...
Generally the answer is: "While the Z80 does the job and the expansion doesn't hack the system, it is OK."
The SuperFX example is interresting because the chip is embedded into each games cartridges and transparent for the players.
It render 3D polygons and advanced 2D effects into a frame buffer and blit the result into the SNES video memory.
I think that was a clever way to speed up the PLUS display instead of using sprites... (see it like a co-processor)
Hi rpalmer,
I totally agree with you.
The reason I asked is that Utopia is known to conflict with certain other ROMs and I removed Utopia from my list because of this.
It also needs to be after the AMSDOS / M4 ROM otherwise it's RSXs will be selected first.
But also, I figured it would be nicer (and possibly not too much work) to have the RSX implemented on the device with the M4 ROM.
Other ROM RSXs are already implemented on the M4 ROM and I also like the idea of minimising the ROM count (to avoid any conficts etc).
Honestly, I mostly wanted Utopia on the board just for this function.
Just a thought anyway.
Cheers,
Shane
Hi Duke,FW 3.1x has this built in, and it works with the m4 beautifully.
I don't like making feature requests...but I will. :D
It may have already been asked or on the to-do list.
Are you able to add an RSX to list installed ROMs.
Something like the |help in utopia.
Maybe |ROMS
I know the ROMs can be seen from the Web Browser, but straight from the CPC is very handy too.
Thanks.
Cheers,
Shane
FW 3.1x has this built in, and it works with the m4 beautifully.Exactly... Using |HELP too.
FW 3.1x has this built in, and it works with the m4 beautifully.
Hi All,
Just wondering if anyone has tested the M4 on a 'Cost Down' MC0099A mainboard CPC464 ??
The one with the 100pin SMD Gate Array (combines the old Gate Array, CRTC, and some FDC/DRAM/RESET logic in one chip).
http://www.cpcwiki.eu/index.php/Mainboard_Versions#CPC464_version_4_.28cost-down.29 (http://www.cpcwiki.eu/index.php/Mainboard_Versions#CPC464_version_4_.28cost-down.29)
I have been using the M4 fine with an older 464, and tested pretty much everything with it and all good.
But my 464 with the 'Cost Down' mainboard just cyclic reboots.
I have thoroughly cleaned the edge connector contacts.
I have moved the M4 ROM between positions 6 & 7.
I removed the SD card altogether.
During the cyclic reboot the M4 ROM name is never displayed.
I can still communicate with the M4 via the web browser (config file on SD card from other CPC setup).
Testing a normal ROM board on this CPC is fine so assuming the connector contacts are all OK.
The 'Cost Down' 6128 also has the same 100 pin SMD chip (40226) so interesting if anyone has tested an M4 with one of those as well.
http://www.cpcwiki.eu/index.php/Mainboard_Versions#CPC6128_version_3_.28cost-down.29 (http://www.cpcwiki.eu/index.php/Mainboard_Versions#CPC6128_version_3_.28cost-down.29)
Cheers,
Shane
Hi @Duke_ (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1632)
Today the m4 board is unable to work with the wifi part
|netstat tells that is connected
but |httpget hangs the cpc and symbos 3.0 don't work with symirc anymore
if i type the ip on my pc firefox, instead of the configuration page it displays "404 - not found"
what can be happening?
Hi @Duke_ (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1632)
Today the m4 board is unable to work with the wifi part
|netstat tells that is connected
but |httpget hangs the cpc and symbos 3.0 don't work with symirc anymore
if i type the ip on my pc firefox, instead of the configuration page it displays "404 - not found"
what can be happening?
Si estás utilizando una IP fija, puede que la hayas puesto fuera del rango de tu red o puede que ya esté siendo utilizada esa IP. Yo puse sin darme cuenta ip=192.168.1.19, cuando debía haber puesto ip=192.168.0.19. Al hacer netstat, la M4 decía estar conectada con la IP que yo le había asignado, pero no lo estaba. De hecho, era imposible, porque también le había dado mal la puerta de enlace. Me volví loco hasta que me di cuenta.
Is it possible that you have assigned a static IP out of rank of your WLAN? In that case, netstat shows the wrong IP that you have assigned, but there is no connection.
Btw. if anyone feels like trying:
M4 firmware v1.1.0b3 - http://www.spinpoint.org/cpc/M4FIRM_v110b3.zip (http://www.spinpoint.org/cpc/M4FIRM_v110b3.zip)
Should fix issues with corrupt file download and more when using symbOS 3.0 preview.
My M4 Board seems to be dead... i tryed many things, pluged directly, on motherx4 with usb powering...
But everything i try does nothjng : there isn't the M4board message on startup. The blue light is on, the wifi light blink rapidly on then off definitively. The reset does nothing to the cpc but lights the red light...
Any idea ?
Can you ping the board from a PC ? -when the CPC is turned on. If so I think connector?
If not, try to put the latest upgrade in root of microSD card and see if it does go through the update process (red light on, then wifi light on, then both lights off).
And did you try without microSD inserted, incase something got screwed in the fs?
At least the SD Card port works, as i noticed that the m4 folder has been recreated and the update process worked... (well i think)...
Guess it still isn't recognized by the CPC then? - If so please send it back and I'll fix it or send you a new one.
I did try to remove the SD card and launch, to reformat the SD card and launch, to ping the board... nothing worked...
I'm gonna try the update...
At least the SD Card port works, as i noticed that the m4 folder has been recreated and the update process worked... (well i think)...
Hmmm, I think one of my M4's has just done the same thing as remax's board.
I was using it fine, then switched it to another CPC. Switched it back and no M4 ROM.
I checked my connections and tried again, same thing.
All LEDs on the board flash like normal, but no M4 ROM.
I tried my other M4 on the same computer with the same connector and all fine.
So back to the other one again, I tried to access it via the webserver (SD / config file was already setup) but no connection to the webserver.
I had already upgraded to FW v1.1.0 beta 3 so I place the v1.0.9 files on the root of the SD and booted it.
You can see the LED's stay on just like expected with a FW upgrade, but once finished the CPC just sits there at the normal BASIC prompt.
I tried no SD card... just boots like a normal CPC (same as when the SD card is in).
I tried another SD (although the original reads fine in the PC and other M4).
It creates the m4 directory with the ROM files correctly.
I'm out of idea's. Is there any way I can perform a disaster recovery and get the M4 ROM back.
I'm assuming without the M4 ROM the webserver will not work as it will not get an IP.
So it appears to me that everything on the board is working (going by the LED's) it's just that somehow the M4 ROM has gone missing.
Also due to the fact when I plugged in a new / blank sd card it created the m4 directory with the ROM files.
My setup is simply a 464 with the M4 straight into it via a short ribbon cable / edge connector setup.
I have an MX4 board but that is setup on a 6128 and I have not even tried the M4 on that yet.
:(
Cheers,
Shane
That's weird.
When I was testing one of the first boards, I put it in ten or twelve different CPCs and it's still working fine.
Try cleaning the contacts on your CPC and on the board itself.
The other one looks to do all the right things with the LED's but the CPC simply boots normally with no M4 ROM message.
Also, just to note: The FW files are gone from the SD card (like normal) after it 'Appears to perform the upgrade'...so that probably confirms it has done it.
Ok thanks for trying. Here's another one, if you care to try it please: http://www.spinpoint.org/cpc/special.zip (http://www.spinpoint.org/cpc/special.zip) It will erase the entire ESP flash, incase some corrupt user config is present in the flash.
Sorry, it should be better now, special2.zip in edit, please :)
Sorry Duke, same result.
And still getting 'host unreachable' with a ping.
Cheers,
Shane
Ok too bad, seems like the ESP is dead, anyway I'll try to add some diagnosis to the upgrade process tonight/tomorrow, so we can give it one my try before sending it back.
If you want, i can wait before i send you the card back...
The symptoms 00WReX describes match exactly the one i encountered.
It almost sounds like the boards could have died from static discharge, but I would have expected the parts to be more robust than that.
Bryce.
Thankyou all guys!!
yes, you all were right
the router didn't work well this morning, but the CPC stills displayed "connected" and "got ip 192.168.0.220", symbos believed to be "connect" too, but none of them were connect ;D
Yes, i'd the ip static 192.168.0.220, hence netstat and symbos were convinced on being online...
this night i've reconfigured the router and set dhcp on m4, all started to work again!!!
Thanyou all again!
I think SymbOS was correct when saying that it was online! If you use static ip and you have a link than you are online. It does not say that your gateway or dns is correct. Probably you can do network stuff in the same broadcast domain. If your DNS is not able to resolve or the gateway is not allowing you to do then problems are there but in fact you are online.Currently the Network Daemon is only checking if there is an M4Board present and the strength of the Wifi signal. If both is fine it shows "online". I didn't add any support for IP settings etc., currently the Network Daemon assumes that the M4Board has been configured and connected correctly already in Amsdos. I will add network settings in a later version.
For example if you use symbus , which is a tool you start in symbos you can connect to your CPC by using a PC with telnet or use putty. In this case if you are in the same vlan you don't use your dns or gateway. With symbus you can telnet to your CPC and can do some kind of remote control.Ops, forget to include SymBUS (maybe somebody remembers NetBus (https://de.wikipedia.org/wiki/NetBus)?) into the package. This is really a funny tool written by EdoZ :) Will add it in the new package.
@00WReX (http://www.cpcwiki.eu/forum/index.php?action=profile;u=518) @remax (http://www.cpcwiki.eu/forum/index.php?action=profile;u=314)
Please try this one:
http://www.spinpoint.org/cpc/m4diag.zip (http://www.spinpoint.org/cpc/m4diag.zip)
It will take a bit longer than before.
Afterwards there should be a report.txt in the root of microSD
Please let me know the results.
Also it should bring your romboard/mass storage back alive.
Thank you.
ESP Flash SR: 0x00 0x02
ESP Flash ID: 0x00E04016
ESP Upgrade CRC match!
ESP Flash Readback CRC: 0xE969B0B2 vs 0xE969B0B2
Checking ESP command
ESP version 00010100 OK
Done!
Hi ShaneThe Contact Cleaner, I remember one of our Supervisors saying " These contain SILICON so use them to clean, and then Chemically clean the contacts "
is it the same as this, ( From my OLD PMG Toolkit )
Ray
@00WReX (http://www.cpcwiki.eu/forum/index.php?action=profile;u=518)
Cool, glad it worked, I didn't expect it to - seems a chip erase command did the job.
Hope it works for @remax (http://www.cpcwiki.eu/forum/index.php?action=profile;u=314) too.
Thanks again Duke. That just surprised me when you said you was not expecting it to work.
Only because you mentioned that it should bring it alive...I was confident at that point :D
Hope it works for @remax (http://www.cpcwiki.eu/forum/index.php?action=profile;u=314) too.
ESP Flash SR: 0x00 0x02
ESP Flash ID: 0x00E04016
ESP Upgrade CRC match!
ESP Flash Readback CRC: 0xE969B0B2 vs 0xE969B0B2
Checking ESP command
ESP version 00010100 OK
Done!
if you do this on a large directory listing and press 'ESC' either once or twice the function key you just set will be lost.Probably because I call &BB03, KM_RESET, will see if I can do without in next build :)
Do you know what happened to the users experimenting trouble lately, and if so has this condition been adressed in the last beta ?Not exactly. The SDK libraries of ExpressIF (ESP8266) does store some settings in the spi flash and it seems those got corrupted somehow and needed a chip erase. Maybe a crash at the wrong time or ESD, don't know.
Hi Duke,
Are you able to add an RSX to list installed ROMs.
Something like the |help in utopia.
Maybe |ROMS
I know the ROMs can be seen from the Web Browser, but straight from the CPC is very handy too.
Thanks.
Cheers,
Shane
FW 3.1x has this built in, and it works with the m4 beautifully.
Exactly... Using |HELP too.
M4 Firmware v1.1.0 beta #4 - Download it here http://www.spinpoint.org/cpc/M4FIRM_v110b4.zip (http://www.spinpoint.org/cpc/M4FIRM_v110b4.zip)
Changes:See more details in http://www.spinpoint.org/cpc/m4info.txt (http://www.spinpoint.org/cpc/m4info.txt) (also with documentation of SOS new RSX commands, thanks!)
- Added C_GETNETWORK command.
- Added status byte after response string to C_NETSTAT
- Fix |cd,"/" to go to root if inside a DSK image.
- Fix SD hotswapping.
- Remove KM_RESET from cat/dir when pressing ESC, to continue listing one must use space now.
- Display current path when using cat/dir.
- Increased AMSDOS readspeed (using bigger buffer).
- Faster network speed when using netapi.
- |Netstat command now displays all IP info, if connected to AP.
Sorry for all these beta's ;)
The purpose is to catch any (new) bugs before going to final release. So if you want to play it safe, stick with the non beta releases.
i know the wifi is trasmitted by Air, but i not need recieve the board flying XD.:laugh: :laugh:
Press ESC once it will pause, or completely break, ordo nothing...
Did you try
|netset,"... Pw=123"+chr%(34)+"abc...."
?
Instead of % thr dollar sign (currently with my mobile)
@00WReX (http://www.cpcwiki.eu/forum/index.php?action=profile;u=518) @remax (http://www.cpcwiki.eu/forum/index.php?action=profile;u=314)
Please try this one:
http://www.spinpoint.org/cpc/m4diag.zip (http://www.spinpoint.org/cpc/m4diag.zip)
It will take a bit longer than before.
Afterwards there should be a report.txt in the root of microSD
Please let me know the results.
Also it should bring your romboard/mass storage back alive.
Thank you.
Just to let you know that i had exaclty the same problem as @00WReX (http://www.cpcwiki.eu/forum/index.php?action=profile;u=518) & @remax (http://www.cpcwiki.eu/forum/index.php?action=profile;u=314)
Apllying this fixed it :)
Thanks @Duke (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1624) for the great support :)
v1.0.9 final i think, but not sure.Ok thanks, noted.
Please find attached the report.txt if it could help.
Hi All
Could somebody post the Rom list that you use on your Machine and the ? Slot ? Position using the M4 and X-Mem Please.
Thanks Ray
well appers delete las character of ssid dont affect to my mobile he connet same wtf.How are these roms mapped in C4CPC, I mean what physical ROM positions do they occupy?
Duke, can you help me?. My (512k) cartridges not appear to work with m4. I not sure if is my fault. Or simply a time problem with c4cpc.
C4cpc take little time load the cartridge.
I observed boot with m4 cpc only show vertical bars.
But when booting without sd card inserted in m4 it boot.
How are these roms mapped in C4CPC, I mean what physical ROM positions do they occupy?
And what is your setting of M4 board (romboard start position, M4 rom position, Lowerrom position) ?
- M4 will issue ROMDIS, which C4CPC obeys (afair. gerald said that), so it may be disabling some of your roms if there is overlaps.
Cartridge roms are from &80-&9F(31 roms).Hmm, M4 doesn't drive any signals IF it hasnt a rom mapped at a given position (it can map any position 0-255).
My settings are default you send me. m4 rom is set to rom 6 as default, i try in rom 7 and effect is the same. I not have put lower rom substitute with m4.
My cartridges not works as you put normal rom in the cpc. I simply rehuse the |game alternatives and made it jump to the requerired rom/direction.
So the os not know the roms are there until they was called manually.
Amsdos have little modification of remap burning rubber jumps, but nothing more. The only conflict i can think is you scanned the roms in area &80-&9f and crash in someway. The roms are adapted and not are suitable to be detected in normal way.
In the other version with parados is the same.
In theory when you disable amdos rom or parados, It can't be called because depend of burning rubber command, but thats all.
I mean i simply exchange |spiel for |hxc and then jump to &88 rom for example.
I made now an experimet duke.
I put in c4cpc the compilation game cartridge of 512k
Then i boot it with m4 attached.
The result is equal to my cartridge, With m4 with sd card it show the vertical bars, and without the sd card the cartridge works perfect.!
There is no other roms attached, only the plus with m4 and c4cpc
I have a power supply with 5A in 5v line son not problem to this.
I go to test another cartridge sizes.
desactivate rom in web browser not make diference.
Ok, I don't have a C4CPC so can't test, but I seem to remember someone in this thread had it working just fine with C4CPC after I issued the ROMDIS signal, unfortunately it's too much to scroll through, but maybe someone else can jump in with their experinces here.
well appers delete las character of ssid dont affect to my mobile he connet same wtf.When a CPR is greater than 180kB, it's loading is done in two step.
Duke, can you help me?. My (512k) cartridges not appear to work with m4. I not sure if is my fault. Or simply a time problem with c4cpc.
C4cpc take little time load the cartridge.
I observed boot with m4 cpc only show vertical bars.
But when booting without sd card inserted in m4 it boot.
When a CPR is greater than 180kB, it's loading is done in two step.
The 1st step is loading the ROM with the boot loader, which is what you see when you start without SD.
Then the bootloader ask the C4CPC to load the cartridge.
The only pupose of this is to have a visual feedback when loading big cartridge.
Now if you have a lower ROM enabled, the bootloader will be prevented from executing, and therefore the CPR will not be loaded.
@Duke (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1624) : just a short and general question. A 5V power supply attached on the M4 doesn't feed a MX4 board, doesn't it?
I think i have try delete It today, But i try tomorrow.These veritical bars are a side effect of the method used to make the CPC wait for the C4CPC to initialise.
These veritical bars are a side effect of the method used to make the CPC wait for the C4CPC to initialise.
Basically, the Z80 will only read RST0 from the cartridge port until the cartridge is loaded. This continuously push 0x0001 to RAM. The bar you see are all these 0x0001.
If you see these bar :
- that mean that the Z80 tried to run from the cartridge
- it did it for quite some cycle (long enough to fill the 64k of RAM with 0x0001)
- the C4CPC is never ready / has never loaded a file (bootloader or CPR)
- OR the z80 is now executing some code which is not located in cartridge slot.
Anyway, first i try today the power part to discard It. If i remember o.k. when thePlease try this one http://spinpoint.org/cpc/M4FIRM_v110b5.zip, now it keeps the cpc in reset state right after the bootloader until m4 has read configs from microSD and romboard is ready, maybe it will make it work, maybe it doesnt change anything :)
Vertical lines are show. Web server can't benn accesed or is accesed slow. From my pc.
But if with 5A c4cpc+computer+m4 can't work lol.
Please try this one http://spinpoint.org/cpc/M4FIRM_v110b5.zip (http://spinpoint.org/cpc/M4FIRM_v110b5.zip), now it keeps the cpc in reset state right after the bootloader until m4 has read configs from microSD and romboard is ready, maybe it will make it work, maybe it doesnt change anything :)
I guess C4CPC is already in process of loading that larger cart at this point, and it can't detect the reset? - So I guess to overcome this problem, either M4 should somehow reset C4CPC or keep the z80 in reset state from power-on until its done with the file checking stuff or detect C4CPC is in the works and not pull reset if the case.By default, C4CPC ignore CPC reset as the only reset it sees is the ACID reset, which is not exactly the board reset.
Please try this one http://spinpoint.org/cpc/M4FIRM_v110b5.zip (http://spinpoint.org/cpc/M4FIRM_v110b5.zip), now it keeps the cpc in reset state right after the bootloader until m4 has read configs from microSD and romboard is readyThats the cleaner way to do the initial start ;)
Damm c4cpc not accept send parameters if not, Can be possible making a autobot that execute remotely the cartridge you want u_uNo sure I understand what you need. Any example ?
No sure I understand what you need. Any example ?
@dragon (http://www.cpcwiki.eu/forum/index.php?action=profile;u=251)
Just to be clear, with latest m4 firmware, does everything work as it should with C4CPC and M4 connected at the same time, or is there still some issue left?
Thanks.
Thanks for all the testing. I am glad we managed to sort the issue.
It appear works. If find and issue i tell you
Just one curiosity. i try lower rom to see what happend.. And the first time It boot whit lower rom changed, later in reboots It boot but corrupt.
Thanks for all the testing. I am glad we managed to sort the issue.About the lower-rom replacement, if C4CPC maps that region, as I understand it to display loading status then there is an obvious conflict, which would be the same as having two romboards mapping lower rom at the same time.
EDIT: I realize thats probably not how it works.
Hi Duke,
Just wondering if you were able to replicate the issue I observed after the beta4 update.
All seems good except for the ESC to pause seems a bit hit & miss for me.I seem to get one of three scenarios...
- Remove KM_RESET from cat/dir when pressing ESC, to continue listing one must use space now.
Press ESC once it will pause, or completely break, or do nothing...
The 'does nothing' is not so common but completely 'breaking' when ESC is only pressed once is very common, almost every time for me.
Cheers,
Shane
Btw, trying to load or run a non existing file, ieYeah it only throws this generic error message.
load "noexist.bas"
throws a "File already open" instead of a "Not found" message. Not a big deal but maybe is this an easy fix.
Otherwise does someone know how to use floppies using "ùm4romoff"? When using this rsx, a cat gets me the Press play then any key, ie there's no amsdos inline. Obviously there's something I don't know?It should work like that, atleast it does for me. Unless you use the patched lowerrom. Then you need to disable lowerrom as it would redirect amsdos to rom 6, which doesnt exist.
Yes I realized the fact that this was due to modded lower rom just after while showering :-)You could upload AMSDOS to ROM6 and still have M4 at slot 6, so when using |m4romoff, the modified lowerrom points to amsdos again.
You could upload AMSDOS to ROM6 and still have M4 at slot 6, so when using |m4romoff, the modified lowerrom points to amsdos again.
Could you explain the above a little more? I have M4 at slot 6 and using your version of the lower rom, so by ising Im4romoff I do not get the 3' back in use. I do not understand the "You could upload AMSDOS to ROM6" part.If using my modified lowerrom, rom7 gets re-routed to rom6. So even if |m4romoff, it still gets routed to rom6, if there is nothing in rom6, there will be no disc drive available, unless you upload AMSDOS rom to rom6. Notice this is ONLY if using the modified lowerrom.
Also, some questions about your version of the lower romYes by all means, if your CPC6128 does support overriding rom7 (weak rom or whatever the reason), no need to use the lowerrom. I think compatiblity if using lowerrom or replacing rom7 is very close, not sure. haven't tested that much tbh.
1. I did not even try to put m4 rom on slot 7 in my CPC6128. Should I try this before using your lower rom? Would it give better compatibility with the games?
2. My understanding is that lower rom is practically the Firmware. So I have read in other threads about FW 3.15 or 3.16. How does your lower rom compare with it?It doesn't compare with FW3.x, as it only does one patch, to re-direct rom7 initialization to rom6 for higher game compatiblity, that's all.
So, what you mean is to replace m4 rom in slot 6 with AMSDOS rom? And when I would want to use m4 board again, I would put m4 rom back?It should be possible to have both there at the same time, when M4 is active it will be used, if you disable it via M4ROMOFF, the underlying rom uploaded to slot 6 would be active.
When I switched on my 6128 plus this morning I was greeted with this:
[ You are not allowed to view attachments ]
The screen gradually fills up with those lines from the bottom. It was working just fine with Beta 3 of v1.1 of the firmware. As I had this issue I updated to Beta 5 and the problem persists. If I disabled the M4 ROM from the web interface the machine boots to the Ready prompt as expected. If I move the M4 ROM to slot 6 the same thing happens I'm afraid.
I've tried this with both my C4CPC cart and the original system cart and it does the same thing so doesn't seem to be any other component I'm afraid. Should I use the wipe and reflash tool from earlier in this thread to get things back please?
In the process of trying to troubleshoot this I also seem to have broken my Mother X4! If I have that connected to the expansion port with anything plugged in this happens:
[ You are not allowed to view attachments ]
If I plug both my XMEM or M4 board directly in to the expansion port they both work independently so I know it's not the expansion port. I've tried all of the slots on the Mother X4 and they all do the same with one of the mentioned boards or both inserted in to any slot! :(
Any help is greatly appreciated!
Next step is to downgrade I think to the last stable version of the M4 firmware and see if things come back to life there. The web interface is up and response to an M4 reset but is having not influence on the 6128 plus and the same applies to CPC reset.
Will update with progress.
Are these still available for sale?Yes, just send me a pm with which connector type you need (and your email, so I can get in touch when its ready).
Now back to the situation with the original screenshot where the screen is filling up from the bottom. This is with v1.0.9 now.
Should I use the wipe and update referred to earlier please to restore full functionality?
It wont hurt to try, but it sounds like it works fine alone in the MX4 and with cable, so not sure anything is wrong with it.
EDIT: It may be an idea to delete the config files under M4, if anything in those are screwed up.
Well after a day of chasing my tail I think I've finally found the problem.
All hardware is now working as expected.
The root of the issue ended up being a zero bytes autoexec.bas file that must have been created when I last started SymbOS. Once I deleted this it all works! :picard:
Damn, sorry to hear that, but could have been worse of course :) - Will check it out for the next update and make a check.No worries, it's one of those things and didn't occur to me at first that it might be a problem as not used to this on the Amstrad!
@SOS (http://www.cpcwiki.eu/forum/index.php?action=profile;u=941) noted !
@rcmolina (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1783) & @Joseman (http://www.cpcwiki.eu/forum/index.php?action=profile;u=135)
Not sure if it's easy :) - Please give me som examples of what you'd like.
|dir command already takes wildcards, but typically there would be multiple matches for a wildcard search, how would |cd deal with that?
Lastly, anyone has a link or list to all AMSDOS error codes?
The question is "first one" to be really useful, may be it need to be sorted. So if 3 dirs exist cpc1 cpc21 cpc2 cpc22345678 , and you typeWhat about the ms-dos-wildcard * ?
|cd,"cpc2!" -> changes to cpc2
!cd,"cpc22! -> changes to cpc22345678
What about the ms-dos-wildcard * ?
|cd,"cpc2*" -> changes to cpc2
!cd,"cpc22* -> changes to cpc22345678
Yes, just send me a pm with which connector type you need (and your email, so I can get in touch when its ready).
It may take a couple of weeks before it's ready though.
Hi Duke
If there is a directory called "Marauder"
You type Mar and then press the tab key, the interpreter understand that you want type Marauder and complete it...
If there is "Marauder" and "Maze", and you type "ma", push tab 1 time puts "marauder" press tab another time puts "Maze"
The root of the issue ended up being a zero bytes autoexec.bas file that must have been created when I last started SymbOS. Once I deleted this it all works! :picard:SymbOS shouldn't touch a file like "autoexec.bas". Do you think it destroyed this file?
SymbOS shouldn't touch a file like "autoexec.bas". Do you think it destroyed this file?I didn't create one or the equivalent .bak file so I think it must have come from one of the SymbOS zip files I extracted to the SD card if the OS doesn't create one.
This is how TAB-autocomplete works in the SymbOS SymShell (in this case even with the M4):How about C_REBOOTRUN,"path/file" cmd ? :)
https://youtu.be/bB6X7V6fVyE?t=1m (https://youtu.be/bB6X7V6fVyE?t=1m)
For Amsdos you could use the |CD command without a parameter:
First type |CD + [return],
then type MA and then choose MARAUDER or MAZE with [tab] and press [return] again.
That's just an idea how it could be implemented in Amsdos.
Here is another small update:
M4 Firmware V1.1.0 Beta 6 - Download http://www.spinpoint.org/cpc/M4FIRM_v110b6.zip (http://www.spinpoint.org/cpc/M4FIRM_v110b6.zip)
Ready
*Break*
*Break*
*Break*
*Break*
*Break*
*Break*
*Break*
*Break*
*Break*
If you type a wildcard that has many matches, it simply picks the first match.If I remember correctly this is how the C64 works with filenames and wildcards. Certainly the case with some of the system carts I've used in the past and worked very well - just not how a PC does it!
If I remember correctly this is how the C64 works with filenames and wildcards. Certainly the case with some of the system carts I've used in the past and worked very well - just not how a PC does it!
Hi, how to buy this m4 board ? thxPM sent. For others just send me PM with your email address, lead time is some weeks as I only buy small quantities of components these days.
Thanks for it. But somehow the game "Defence" from Shining doesn't start anymore. It hangs during loading screen before the speech will start.Thanks for the feedback.
- And the ever lasting ESC dir issue, tested it properly this time
Hi, Defence is starting (sometimes) but not perfect. I mean the speech intro after the loading screen is somehow interrupted (some delays), sometimes is freezes completely.
If I arrive to the main screen and I want to choose a level and start the game it freezes. Strange?!
Downgrading to version 110b5 work perfectly again. I assume it has something to do with the way how the speech data is stored or loaded, or the way you changed CAS_IN_CHAR??
One thing. Is possible made the cpc load .png images from the web?It's possible to download them, but would need to unpack & decode and re-encode to CPC screen format. If they are too heavy I cannot have them in the limited M4 memory, unless it could be done on the fly somehow.
@HAL 6128 (http://www.cpcwiki.eu/forum/index.php?action=profile;u=365) Thanks, will try to replicate that setup some time this weekend.
It's possible to download them, but would need to unpack & decode and re-encode to CPC screen format. If they are too heavy I cannot have them in the limited M4 memory, unless it could be done on the fly somehow.
Msx have advantage to pictures with the 256 colours. O Don,t know he can load jpegs lol.IIRC they are even using the highcolour mode of the MSX2+/TurboR for displaying JPEGs (19268 colours!).
Got my M4 board this week, very nice indeed :DIf set at rom 7 (and of course 128KB ram ideally) you are at best compatiblity, if some games don't work that should work, I am interetested to see them. Ie. your games with screen corruption, maybe a bug in my code that can be fixed.
Sorry if this has been asked before (this is a really long thread) - does anyone have any tips for improving compatibility? I've tried various DSK files (many that I've been using with emulators for ages) and lots of them have failed to work correctly on a real CPC. Mostly I've been able to eventually find alternate versions that do work, but some games just refuse to work. I can't find a working Laser Squad at all! :( Mostly games that fail to work just freeze up halfway through loading and never get further. Others finish with some fancy screen corruption.
I have a 464, which I can believe may be some of the issue. As recommended I've moved the M4 rom to sit in slot 7 instead of the default 6. Anyone have any other bright ideas?
As for lasersquad the only proper cracked version I found was for 128KB ram
Sure that as a SymbOS app, it uses SymbOS API, not AMSDOS/CAS.Yes, that's true indeed :)
Got my M4 board this week, very nice indeed :D
Sorry if this has been asked before (this is a really long thread) - does anyone have any tips for improving compatibility? I've tried various DSK files (many that I've been using with emulators for ages) and lots of them have failed to work correctly on a real CPC. Mostly I've been able to eventually find alternate versions that do work, but some games just refuse to work. I can't find a working Laser Squad at all! :( Mostly games that fail to work just freeze up halfway through loading and never get further. Others finish with some fancy screen corruption.
I have a 464, which I can believe may be some of the issue. As recommended I've moved the M4 rom to sit in slot 7 instead of the default 6. Anyone have any other bright ideas?
To load it from m4, you need made a new routine in the place of the cartridge loader that load the levels from m4. That i not sure if is possible as laser squad kill firmware in ram and uses all 64k.
; M4 board
; DSK read sector example
; Duke 2016
org &4000
nolist
DATAPORT equ &FE00
ACKPORT equ &FC00
C_READSECTOR equ &430B
start: di
ld bc,&7F85 ; GA select upper rom, and mode 1
out (c),c
ld a,(m4_rom_num)
cp &FF
call z,find_m4_rom ; find rom (only first run)
cp &FF
call nz,read_sec
ld bc,&7F8D ; GA deselect upper rom, and mode 1
out (c),c
ei
ret
read_sec: ld bc,DATAPORT ; data out port
out (c),c
ld a,&0B
out (c),a ; command lo
ld a,&43
out (c),a ; command hi
; parameters hardcoded for now
ld a,0 ; track 0
out (c),a ;
ld a,&c1 ; sector 0
out (c),a ;
ld a,0 ; drive 0
out (c),a ;
ld bc,ACKPORT
out (c),c ; tell M4 that command has been send
ld a,(m4_rom_num)
ld bc,&DF00
out (c),a ; select M4 rom
ld hl,&FF02 ; get response buffer address
ld e,(hl)
inc hl
ld d,(hl)
ex de,hl
ld de,sector_buf
ld bc,#512
ldir
ret
;
; Find M4 ROM location
;
find_m4_rom:
ld iy,m4_rom_name ; rom identification line
ld d,127 ; start looking for from (counting downwards)
romloop: push de
ld bc,&DF00
out (c),d ; select rom
ld a,(&C000)
cp 1
jr nz, not_this_rom
; get rsxcommand_table
ld a,(&C004)
ld l,a
ld a,(&C005)
ld h,a
push iy
pop de
cmp_loop:
ld a,(de)
xor (hl) ; hl points at rom name
jr nz, not_this_rom
ld a,(de)
inc hl
inc de
and &80
jr z,cmp_loop
; rom found, store the rom number
pop de ; rom number
ld a,d
ld (m4_rom_num),a
ret
not_this_rom:
pop de
dec d
jr nz,romloop
ld a,255 ; not found!
ret
m4_rom_name: db "M4 BOAR",&C4 ; D | &80
m4_rom_num: db &FF
sector_buf: ds 512
If one could replace the "read sector" function with below, it could load from .dsk image. It takes about &90 bytes with my clumsy code ;) - that does not rely on any firmware functions.Code: [Select]; M4 board
; DSK read sector example
; Duke 2016
org &4000
nolist
DATAPORT equ &FE00
ACKPORT equ &FC00
C_READSECTOR equ &430B
start: di
ld bc,&7F85 ; GA select upper rom, and mode 1
out (c),c
ld a,(m4_rom_num)
cp &FF
call z,find_m4_rom ; find rom (only first run)
cp &FF
call nz,read_sec
ld bc,&7F8D ; GA deselect upper rom, and mode 1
out (c),c
ei
ret
read_sec: ld bc,DATAPORT ; data out port
out (c),c
ld a,&0B
out (c),a ; command lo
ld a,&43
out (c),a ; command hi
; parameters hardcoded for now
ld a,0 ; track 0
out (c),a ;
ld a,&c1 ; sector 0
out (c),a ;
ld a,0 ; drive 0
out (c),a ;
ld bc,ACKPORT
out (c),c ; tell M4 that command has been send
ld a,(m4_rom_num)
ld bc,&DF00
out (c),a ; select M4 rom
ld hl,&FF02 ; get response buffer address
ld e,(hl)
inc hl
ld d,(hl)
ex de,hl
ld de,sector_buf
ld bc,#512
ldir
ret
;
; Find M4 ROM location
;
find_m4_rom:
ld iy,m4_rom_name ; rom identification line
ld d,127 ; start looking for from (counting downwards)
romloop: push de
ld bc,&DF00
out (c),d ; select rom
ld a,(&C000)
cp 1
jr nz, not_this_rom
; get rsxcommand_table
ld a,(&C004)
ld l,a
ld a,(&C005)
ld h,a
push iy
pop de
cmp_loop:
ld a,(de)
xor (hl) ; hl points at rom name
jr nz, not_this_rom
ld a,(de)
inc hl
inc de
and &80
jr z,cmp_loop
; rom found, store the rom number
pop de ; rom number
ld a,d
ld (m4_rom_num),a
ret
not_this_rom:
pop de
dec d
jr nz,romloop
ld a,255 ; not found!
ret
m4_rom_name: db "M4 BOAR",&C4 ; D | &80
m4_rom_num: db &FF
sector_buf: ds 512
iVery nice, I guess with your work, the easist method would be to find the track/sector offsets for the disk image and make similar loader, reading the level from 0x2f4 and point to the right track, sector.
jeje, honestly i not know how works the subrutine disk of the game and where is located the read function. My aproach in these day was ¿Are you the subrutine that made i can't play the game?. I kill you ->>> And change it with mine :) (after i interrogated it what memory ranges load in each level :) .
The subrutine is located in &52d2, i made call to the rom where it find the asm in the rar. Then i simply look the level the user select in memory (&02f4) . And load the rom designated from cartridge.
Then i can add the levels of expansion disk adding more entry.
You can take a look if you want at asm.
If one could replace the "read sector" function with below, it could load from .dsk image. It takes about &90 bytes with my clumsy code ;) - that does not rely on any firmware functions.Code: [Select]; M4 board
; DSK read sector example
; Duke 2016
org &4000
nolist
DATAPORT equ &FE00
ACKPORT equ &FC00
C_READSECTOR equ &430B
start: di
ld bc,&7F85 ; GA select upper rom, and mode 1
out (c),c
ld a,(m4_rom_num)
cp &FF
call z,find_m4_rom ; find rom (only first run)
cp &FF
call nz,read_sec
ld bc,&7F8D ; GA deselect upper rom, and mode 1
out (c),c
ei
ret
read_sec: ld bc,DATAPORT ; data out port
out (c),c
ld a,&0B
out (c),a ; command lo
ld a,&43
out (c),a ; command hi
; parameters hardcoded for now
ld a,0 ; track 0
out (c),a ;
ld a,&c1 ; sector 0
out (c),a ;
ld a,0 ; drive 0
out (c),a ;
ld bc,ACKPORT
out (c),c ; tell M4 that command has been send
ld a,(m4_rom_num)
ld bc,&DF00
out (c),a ; select M4 rom
ld hl,&FF02 ; get response buffer address
ld e,(hl)
inc hl
ld d,(hl)
ex de,hl
ld de,sector_buf
ld bc,#512
ldir
ret
;
; Find M4 ROM location
;
find_m4_rom:
ld iy,m4_rom_name ; rom identification line
ld d,127 ; start looking for from (counting downwards)
romloop: push de
ld bc,&DF00
out (c),d ; select rom
ld a,(&C000)
cp 1
jr nz, not_this_rom
; get rsxcommand_table
ld a,(&C004)
ld l,a
ld a,(&C005)
ld h,a
push iy
pop de
cmp_loop:
ld a,(de)
xor (hl) ; hl points at rom name
jr nz, not_this_rom
ld a,(de)
inc hl
inc de
and &80
jr z,cmp_loop
; rom found, store the rom number
pop de ; rom number
ld a,d
ld (m4_rom_num),a
ret
not_this_rom:
pop de
dec d
jr nz,romloop
ld a,255 ; not found!
ret
m4_rom_name: db "M4 BOAR",&C4 ; D | &80
m4_rom_num: db &FF
sector_buf: ds 512
But he appears the read sector are located in &58c9.but it create the commands reading from disk :D .Good work, looks like a bit of nightmare to get through all that code.
I made a level 1 tracing until first loop commented in english.
by the way, is possible to have a spanish lower rom modified? :-[
UPDATE1:
Another extrange behaviour, another game from Amsoft (i think all in basic), Sultan's Maze (spanish version), without M4 it works, with M4 it throws an error in line 210, "improper argument", this line has the symbol command in it... what can be this extrange error?
Don't suppose anyone has a link for German cpc6128 lowerrom?There are no German-Lowerrom exists.
I have one called 6128w, but no idea what country that is, the extra characters don't look german atleast...
@Duke (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1624)Ok, quick fix for now, delete your autoexec.bas file and they should work fine.
Here another game with the same problem with the symbol command...
http://www.cpc-power.com/index.php?page=detail&onglet=dumps&num=2034 (http://www.cpc-power.com/index.php?page=detail&onglet=dumps&num=2034)
Hi @Joseman (http://www.cpcwiki.eu/forum/index.php?action=profile;u=135)
Not sure, try using this upgrade http://www.spinpoint.org/m4diag.zip (http://www.spinpoint.org/m4diag.zip)
It should make report.txt in the root. Maybe the ESP8266 just needs full chip erase or if something wrong, hopefully it will be in the report file.
Hi @Duke (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1624) , already tried this, the same scenario, the m4 lights the red led and keeps going this way, report.txt is blankIn that case, try reformatting the microSD. Also be patient when running m4diag it takes a lot longer than usual. Do you power it via USB ?
More strange is: i have 3- M4 bought in the same order... 2 of then acts the same... the third i didn't try...
In that case, try reformatting the microSD. Also be patient when running m4diag it takes a lot longer than usual. Do you power it via USB ?
Whats reported when you do |version?
Perhaps the problem is that it needs the upgrades one by one?If more recent version of M4 (with newer ESP-12F modules) you should only use v1.0.9 upwards. Wildcards are implemented on the M4 MCU side, and it seems it upgrades if it erases the M4FIRM.BIN file, but please check with |version. Another failure could be bad CRC of the firmware file, in which case it would not be flashed, but I'd expect the unzip to complain about that.
i know that the upgrade is not done because in that M4 the wildcards doesn't works...
Thanks, if I get a feeling that at least 10 people are interested, I'll source the components for those and see how it goes.
Ahh, post number 12 of this thread (first page)...
So I guess you were not expecting 10 times that amount (probably more) back then :D
Thanks for the continued support and awesome Firmware updates :)
M4 firmware v1.1.0 beta 9
Download http://www.spinpoint.org/cpc/M4FIRM_v110b9.zip (http://www.spinpoint.org/cpc/M4FIRM_v110b9.zip)
Changes:
More cas* function fixes.
Fix AUTOEXEC.BAS, now works with certain basic games that failed before (basic should be fully initialized now!).
Fix multiple network connections (ie. use SymbOS to chat on IRC and wget stuff at the same time).
Implemented |LS command. Works same as |DIR, except depending on your screen mode it will show files and folders in long names.
|cd will accept long filenames too.
If no serious errors reported this will be release version v1.1.0 aswell. Feedback appreciated.
Noted, will see to add a build number aswell. But yes it must be some other problem latest zip linked above supports |ls cmd.
Can you implement versionning for beta files too ?
For some reason, the |ls command is not added, but i don't know if it's a flashing problem or something else...
Can you still get an M4 card?Yes it is still possible.
I am amazed about the possibilities, and I would like to buy one. Some Spanish colleagues are also interested in this card.
How many amperes use the M4 Board?
Dear colleagues,
I own an M4 board since June but, honestly, I have not give him too many use since because of the problems to open certain DSK images and the impossibility to install SymbOS in my hardware. Right now, I just read that the new firmware increases the number of DSKs that can be opened and I will make the corresponding update these days...
In addition, yesterday I received the MX4 board and an X-MEM board and I will like to put them to work together with the M4 board. The thing is, where within this vast thread I could find the right info to start with this task (I mean what will be the best configuration to make them compatible?, the best ROM config?, etc). Can somebody help me and put links to the pages within this thread where these aspects were discussed or I will have to go through 109 pages of posts to find it? :o
Thank you in advance mates! ;)
Best regards
I think i read m4 board need be power externally when use It with other boards.
I have to try it, yesterday i recieve to the x-mem and the x4 board :)
Yes, you will need to power the m4 with the mini-usb connector. (setting the jumper to "usb")
I think that if you power the x4 board, then there is no need to power the m4 with the mini-usb...
Dear colleagues,
I own an M4 board since June but, honestly, I have not give him too many use since because of the problems to open certain DSK images and the impossibility to install SymbOS in my hardware. Right now, I just read that the new firmware increases the number of DSKs that can be opened and I will make the corresponding update these days...
In addition, yesterday I received the MX4 board and an X-MEM board and I will like to put them to work together with the M4 board. The thing is, where within this vast thread I could find the right info to start with this task (I mean what will be the best configuration to make them compatible?, the best ROM config?, etc). Can somebody help me and put links to the pages within this thread where these aspects were discussed or I will have to go through 109 pages of posts to find it? :o
Thank you in advance mates! ;)
Best regards
The problem is there is a voltage drop on the MotherX4 board, dropping the voltage in some cases below what the AMS1117-3.3V regulator on the M4 needs to operate correctly.
That being said it may operate a bit out of spec, some have reported no issues powering it directly from the MX4 board, for me it works with MX4 when using external PSU connected to MX4. I can't remember my voltage readings, but it was a little higher with the external PSU.
In the next batch of M4's (whenever I receive the pcbs...) will probably be fitted with an AP2114-3.3V regulator instead, that should solve the issue.
If it works as expected, one could replace the AMS1117 and two caps. Or better solution use my adapter board (if one has that) and plug MX4 after M4.
@jomicamp (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1758) what CPC model you plan to use for it, then I can better advise on the configuration.
I intend to use it in a CPC 6128 with spanish ROM
Thank you in advance!
Ok in that case I would disable rom board function of X-MEM (put the jumper on NO).
And set up M4 as the picture shown here:
http://cpcwiki.eu/index.php/M4_Board#Various (http://cpcwiki.eu/index.php/M4_Board#Various) files
Meaning set M4 to rom6. Enable lowerrom replacement and upload the spanish lowerrom. Put original AMSDOS rom in slot 6.
That config works fine for me.
@remax (http://www.cpcwiki.eu/forum/index.php?action=profile;u=314)
What is CPCFW15 ? - if its another lowerrom replacement, it will not work together and you should disable XMEM romboard unless you have a CPC where you can replace rom 7. If you can replace rom, you can set M4 rom board to start at pos 32 after XMEM and set M4 rom itself directly to rom7.
I forgot the 3, i meant FW 3.15. Well it works without disabling the XMEM romboard even with rom 6 for the relay. (that was my initial config). But i can't have the modified lower rom then...
Ah yeah the relay rom is no use anymore, I will remove it (very outdated, I would have to make a new one for newer firmwares, if desired)
But yes, you would be using two lowerrom's if you use both the modified one and fw3.15
Yes all new commands would be missing since v1.0.1 (or whenever I made it) + some may have different offsets.
Well it works well, but i might be the reason why i didn't see the added command (|LS) with the update.
So i would be interessed in a new version :)
Tbh. the lower rom replacemant makes a lot more sense, I could make a version that would use say slot 39 or something instead of rom 6. In that case if you wish to use both romboards you could put the lower rom to XMEM and remap M4 board to be after it.
You would lose FW3.15 yes, cant have both lower roms at the same time :/
I would lose FW3.15 no ?
I tried to do without it (using autoexec.bas to set the mode and color and to remap the ù to |, but i miss functions like |HELP, the utopia equivalent being not as powerful).
Latest Firmware:
> |mkdir,"a b c"
> Ready
> |era,"a b c"
> A B C not found
> Ready
> |cd,"a b c"
> Ready
Please, could you fix that?
(Thanks)
Ok in that case I would disable rom board function of X-MEM (put the jumper on NO).
And set up M4 as the picture shown here:
http://cpcwiki.eu/index.php/File:M4config6128.jpg (http://cpcwiki.eu/index.php/File:M4config6128.jpg)
-->
http://cpcwiki.eu/index.php/M4_Board (http://cpcwiki.eu/index.php/M4_Board#Various) under Varius files
Meaning set M4 to rom6. Enable lowerrom replacement and upload the modified spanish lowerrom from above link. Put original AMSDOS rom in slot 6.
That config works fine for me.
Another question is: In which connector of the MX4 should I plug the M4 and the X-MEM for better compatibility? or there is no difference on that?
How is "enable lowerrom replacement and upload the modified spanish lowerrom from the above link" specifically made? I know I can find the lowerrom file in the cpcwiki page for the M4. I also know that I should set the M4 to slot 6 (in which I should upload the original AMSDOS for the case of exit). But in which ROM slot I should load the lowerrom replacement? or where should I place it to make it work?In the example picture it is uploaded to slot 0, Enable lowerrom ticked and lowerrom slot set to 0. But you can use any slot you want.
In the example picture it is uploaded to slot 0, Enable lowerrom ticked and lowerrom slot set to 0. But you can use any slot you want.
Ie. if you pick slot 30, upload the modified lowerrom to that slot, and pick lowerrom slot 30.
how can i upgrade the ESP-Firmware ?copy both files "ESPFIRM.BIN" and the correspondent "M4FIRM.BIN" to the SD-Card-Root.
The problem is there is a voltage drop on the MotherX4 board, dropping the voltage in some cases below what the AMS1117-3.3V regulator on the M4 needs to operate correctly.
That being said it may operate a bit out of spec, some have reported no issues powering it directly from the MX4 board, for me it works with MX4 when using external PSU connected to MX4. I can't remember my voltage readings, but it was a little higher with the external PSU.
In the next batch of M4's (whenever I receive the pcbs...) will probably be fitted with an AP2114-3.3V regulator instead, that should solve the issue.
If it works as expected, one could replace the AMS1117 and two caps. Or better solution use my adapter board (if one has that) and plug MX4 after M4.
@jomicamp (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1758) what CPC model you plan to use for it, then I can better advise on the configuration.
but i cannot understand where the confusion lies.The behavior of the code is changed.
The |CD command on a file should not work and is a little bit surprised that it should have thrown up an error.
It is possible that the |CD command may have matched against one of the directories and hence the |CAT showed its contents.
1. By default the A drive is the SD card at the M4. How may access the internal drive then (for instance if I want to save a file or a BASIC program to the floppy)? I tried to do change to drive B but it is not working.Type |m4romoff and disc drive is enabled and sd card disabled. If you want to copy stuff between floppy and microSD, use the excellent symbOS, symCommander.
2. I wrote a BASIC program and given that I was not able to save it to the floppy, I tried to save it in a DSK file within the M4 as SAVE"filename.bas". I got the message ready but when you do cat the file is not in the DSK, Is it possible to save files like this to the M4?You can save directly to sd card, I haven't implemented file write support inside DSK images yet, just save directly to sd card.
Type |m4romoff and disc drive is enabled and sd card disabled. If you want to copy stuff between floppy and microSD, use the excellent symbOS, symCommander.You can save directly to sd card, I haven't implemented file write support inside DSK images yet, just save directly to sd card.
So I can save the files in the SD card always that I am out of a DSK file, right?Yes.
Is it possible to allow access to Drive B (a Floppy drive) without having to Exit the rom ?It's possible, but not convenient.
just a question: would it possible to add some kind of path variable / environment (somedays)? Like in MS-DOS (path=...)?It's a good idea, it would be possible yes, if I can find the time implement it sometime.
It's possible, but not convenient.Hi Duke
M4 rom was designed to completely replace amsdos, so it would have best possible compatiblity with existing software and usable even on CPC without FDC (464).
However I have thought of an easy method I could allow for sdcard/floppy disc access at the same time if the user chooses to run two DOS (both M4 and AMSDOS). So may add that sometime around.
Anyway in current versions, you can do this. Change M4 rom position to be after AMSDOS, ie. slot 8.Ok, when I do so, I can not start any Game from the SD-Card?!
All basic commands now go to disc drives A & B.
If you want to copy files to SD card, use |FCP command. To dir SD card, use |LS, and you can also use |CD etc...
Ok, when I do so, I can not start any Game from the SD-Card?!True, the point was only to enable both floppy drives, so you could copy files to sd card via |FCP command.
So what is the advantage to set the M4-DOS on ROM 8?
Hello Duke,
It's possible to order one board with MX4 connector? ... I'm really very interested.
Thanks in advance.
100 REM ROMGET (v2.0)
110 REM 3.9.1994
120 REM
130 MODE 1: CLEAR: DEFINT a-z
140 PRINT"ROMGET v2.0":PRINT"Run on a CPC to save the ROMs as files.": PRINT
150 PRINT"Insert disk with >= 50K free space": PRINT"and press a key ..."
160 CALL &BB18
170 adr=&A000: sh=adr+2: dh=adr+5: k=adr+15
180 h!=HIMEM: MEMORY &1FFF
190 FOR i=adr TO adr+&12: READ a$: POKE i,VAL("&"+a$): NEXT
200 POKE sh,0: POKE dh,&20: POKE k,&FC: CALL adr
210 POKE sh,&C0: POKE dh,&60: CALL adr
220 PRINT"Saving lower&upper-ROM (CPCXXXX.ROM) ..."
230 SAVE"!CPCXXXX.ROM",b,&2000,&8000
240 POKE k,7: CALL adr
250 IF PEEK(&6000)<>1 THEN PRINT"No AMSDOS-ROM found.": GOTO 280
260 PRINT"Saving AMSDOS-ROM (CPCADOS.ROM) ..."
270 SAVE"!CPCADOS.ROM",b,&6000,&4000
280 PRINT"Trying to find some other ROMs ..."
290 FOR i=1 TO 251:PRINT HEX$(i);
300 IF i=7 THEN 360
310 POKE k,i:CALL adr
320 IF PEEK(&6000)=&80 THEN 360
330 PRINT" ROM found -- ";
340 PRINT"Saving MYROM";HEX$(i,2);".ROM ..."
350 SAVE"!MYROM"+HEX$(i,2)+".ROM",b,&6000,&4000:PRINT
360 PRINT CHR$(13);:NEXT
370 PRINT:PRINT"bye."
380 MEMORY h!: END
390 DATA 21,00,C0,11,00,20,01,00,40,DF,0D,A0,C9,10,A0,00,ED,B0,C9