News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_Duke

Amstrad CPC WiFi

Started by Duke, 07:36, 07 May 16

Previous topic - Next topic

0 Members and 6 Guests are viewing this topic.

SOS

Quote from: Duke on 23:20, 04 January 17
Here is another beta firmware for M4 Board, please note this is experimental and mostly recommended for people who want to help me, by providing feedback.
CAS_IN_CHAR seems to be broken.
I have no more success to load ASM-Files with MAXAM or with simple text-Viewer.

dragon

Quote from: Duke on 23:20, 05 January 17
If ESPFIRM.BIN is not deleted it wont be upgraded. Not a concern if you had a recent version already, since I havent updated that part for the last couple of updates. However not good it didn't flash it, probably you should try again with a powercycle and see if that would've worked.


Maybe i have a phisical problem not sure i have to try without expansions, my problem is my mx4 motherboard, the expansions connectors are to  hard when i insert the cards. To hard.


As i need  mount it/unmount It continusly. When i mount the cpc. I think this cause two left pins of the connector go up inside the connector. I try realocated It then with a screwdriver But not very Lucky. It also affct to x_mass and x-mem. :(.

Duke

Quote from: dragon on 11:43, 06 January 17

Maybe i have a phisical problem not sure i have to try without expansions, my problem is my mx4 motherboard, the expansions connectors are to  hard when i insert the cards. To hard.


As i need  mount it/unmount It continusly. When i mount the cpc. I think this cause two left pins of the connector go up inside the connector. I try realocated It then with a screwdriver But not very Lucky. It also affct to x_mass and x-mem. :( .
Yeah because of the not perfect fit between the female and male connectors you can easily bend the pins slighty when removing a card and then when you put it back in they dont match and pins are bend backwards.
Eitherway you can push the pins back again through the connector and straighten them with some tool.

Duke

#1153
@SOS, thanks. The bugs you found have been fixed now.

Here is v110 beta 11 (neverending story... if no solid bugs reported, this goes to release version!):
Download:
http://www.spinpoint.org/cpc/M4FIRM_v110b11.zip

|era non amsdos style filename fixed.
Bad in/iout header bug introduced in last version fixed.
Should work with CPC464 and DDI aswell now.
|tape works
And a new feature added:
Remote Run, you can now type a filename in the webinterface and execute it (will be implemented in cpc xfer soon).
- Should be useful for faster development from PC to CPC, simply upload and run via cpcxfer.

Edit: for those interested the github repo with source code for M4 ROM is updated with latest changes aswell: https://github.com/M4Duke


SOS

Triple LIKE  to you :D :D :D

I will check your Firmware tomottow  ;D

Rennert

Link doesn't work?
...KC Compact

Duke


00WReX

Hi Duke, Happy New Year and thanks for the continued updates.  :)

I just installed the latest Beta and was giving the 'Remote Run' a go.

I was just wondering if the CPC 'reset' was an expected behavior prior to executing the file.

I also noticed that regardless of what is entered (correct or incorrect filename, or even nothing in the field) the CPC will reset.
So just hitting the 'RUN' button without entering anything will reset the CPC.

Cheers,
Shane
The CPC in Australia...
Awa - CPCWiki

Duke

Quote from: 00WReX on 07:39, 07 January 17
I was just wondering if the CPC 'reset' was an expected behavior prior to executing the file.

I also noticed that regardless of what is entered (correct or incorrect filename, or even nothing in the field) the CPC will reset.
So just hitting the 'RUN' button without entering anything will reset the CPC.

Thanks.  Yes it is expected behavior. What it does is temporarily replace the "autoexec.bas" filename with a filename of your choice and issue a reset so it gets executed at start up. It doesn't check if the file exist, also you need to add the file extension.
If it's a feature that will be used more than what I had in mind (development), I can of course add more checks to it.

SOS

Do you see a chance to separate (and new functions) of your Windows xfer-program without great efforts:
Idea:
a) dont' touch xfer
b) new program "cpcrun" (only makes the RUN)
c) new program "upload file xyz to Rom."

so e.g. you can do in a windows-bat:
upload "yancc.rom",3
upload "launcher.rom",4
cpcrun "yancc.bas"

And (when i'm here to write down my wishes  :D last-not least ),
d) download from cpc  (in web-frontend + Windows-bat)
e) dircpc (in web-frontend)

Duke

Quote from: SOS on 09:37, 07 January 17
Do you see a chance to separate (and new functions) of your Windows xfer-program without great efforts:
Idea:
a) dont' touch xfer
b) new program "cpcrun" (only makes the RUN)
c) new program "upload file xyz to Rom."

so e.g. you can do in a windows-bat:
upload "yancc.rom",3
upload "launcher.rom",4
cpcrun "yancc.bas"

And (when i'm here to write down my wishes  :D last-not least ),
d) download from cpc  (in web-frontend + Windows-bat)
e) dircpc (in web-frontend)

All that is pretty straight forward, but may aswell add it as options to cpc xfer.
d) is already possible if you know the path/file, ie type: http://cpc6128/sd/pathtomyfile/file.bin or use wget http://cpc6128/sd/pathtomyfile/file.bin
(just add the /sd/ prefix in lower case)
e) yeah this is the missing component, I can add a function, but its too much work for me to write a html/javascript parser it to display in browser.

Duke

#1161
Here is an updated version of CPC Xfer https://github.com/M4Duke/cpcxfer   
Windows binary included in the repo, linux users will have to recompile (remove the wsock32 from makefile and it should work).

Commands:
CPC M4 xfer tool v2.0.0 - Duke 2016/2017
xfer -u ipaddr file path opt            - Upload file, opt 0: no header add, 1: add ascii header
xfer -d ipaddr file path opt            - Download file, opt 0: leave header, 1: remove header
xfer -f ipaddr file slot name           - Upload rom
xfer -x ipaddr path+file                - Execute remote file
xfer -s ipaddr                          - Reset CPC
xfer -r ipaddr                          - Reboot M4

Example if your m4 has IP number 192.168.1.11

xfer -x 192.168.1.11 /games/zynaps/zynapsex.bas

Will run zynaps from given directory.  Want to leave it again you could reset the cpc by: xfer -s 192.168.1.11

In a development environment the idea is you ie. do the following to your makefile
xfer -u 192.168.1.11 mycode.bin / 0                      (to upload the file after compilation, additional files could be uploaded too)
xfer -x 192.168.1.11 /mycode.bin                          (to execute it).

If you are deving roms, they can be remotely uploaded too.
Ie.
xfer -f 192.168.1.11 yancc.rom 3 "YANCC"                 (upload to slot 3)
xfer -f 192.168.1.11 launcher.rom 4 "The Launcher"   (upload to slot 4)
xfer -r 192.168.1.11                                                 (Reboot M4 for changes to take effect)

Have fun!

SOS


Rennert

#1163
After installed ESPFIRM in Webinterface, can´t see the update button in settings. V11Beta
...KC Compact

Duke

Quote from: Rennert on 15:19, 07 January 17
After installed ESPFIRM in Webinterface, can´t see the update button in settings. V11Beta
Yes, I removed it. Because it only allowed to upload one file at a time & then reboots, and a full upgrade requires two files.
You can still use the regular file upload and upload both files, then do a M4 reset.

Rennert

Thanks, it works  :D

Is there any way to use ACMEDOS and M4 at the same time? Twice use the CD and DISC RSX, for use ACME must M4Romoff or romoff ACME for using M4.

...KC Compact

Duke

#1166
Quote from: Rennert on 16:01, 07 January 17
Is there any way to use ACMEDOS and M4 at the same time? Twice use the CD and DISC RSX, for use ACME must M4Romoff or romoff ACME for using M4.
Tbh. I don't know anything about ACMEDOS or how it works. Does it need AMSDOS ? If not I think you could try to put it as ROM7 and M4 as ROM6 and use |DISC command to switch to ACMEDOS and |SD to switch to M4, but I am not sure if my "amsdos" detection will fail on ACMEDOS.

EDIT: just checked and it seems it needs AMSDOS. You could try this:
AMSDOS rom 7, ACMEDOS rom 6, M4 rom 5.
Then see if you can switch to ACMEDOS using |disc or |tape.

Rennert

Great, this works ;) /disc switched to XMass.
for real floppy or HxC use /A or /B command
...KC Compact

Joseman

#1168
Hi @Duke

here is one game that doesn't work with the modified lower rom - Ghouls N Ghosts:

http://www.cpc-power.com/index.php?page=detail&onglet=dumps&num=976

the first crack, CNG soft version, i think that there is more games... but i can't remember!

Without modified lower rom the game works like a charm, but with the lower rom, the game starts the tape when you press space on the title screen.

And talking about the Kick Off versions... another strange thing... the game refuses to work even with the new rom (typing |disc), no modified lower rom but from floppy!, the same, red border... i'm still pretty sure that it isn't a load error... but some thing between the M4 and the game code...

UPDATE!! I found a problem with the new rom! with Beta 9, the original version of Ghosts N Goblins, works (it has no protection), but with the last beta, it reset!

I'm a proud beta tester of M4  :P

00WReX

Quote from: Duke on 09:23, 07 January 17
Thanks.  Yes it is expected behavior. What it does is temporarily replace the "autoexec.bas" filename with a filename of your choice and issue a reset so it gets executed at start up. It doesn't check if the file exist, also you need to add the file extension.
If it's a feature that will be used more than what I had in mind (development), I can of course add more checks to it.

Cool, thanks for the explanation. :)

Cheers,
Shane
The CPC in Australia...
Awa - CPCWiki

Duke

Quote from: Joseman on 19:50, 07 January 17
here is one game that doesn't work with the modified lower rom - Ghouls N Ghosts:

http://www.cpc-power.com/index.php?page=detail&onglet=dumps&num=976

the first crack, CNG soft version, i think that there is more games... but i can't remember!

Without modified lower rom the game works like a charm, but with the lower rom, the game starts the tape when you press space on the title screen.

Thanks good find. I took a look, and it is actually because CNG finds the right rom to re-init, elegantly, however this fails with the lowerrom mod because it assumes bad behaviour (init rom7 and insteads init rom6, but it does not init rom6 with &BCCE call).

I made a fix for that, attached a new lowerrom mod for 6128. Now it will init rom 6 with &BCCE, if it hasn't been initialized with rom 7 &BCCE call.

Btw. CNG's method of finding which disc rom to init, is as follows (good method if you need to do it to fix a game, it needs to be read and stored before wiping memory):
LD HL,(&BC78)
INC HL
INC HL
LD A,(HL)  <-- rom number to init.

I'll see if I can take a look at the other issues you reported later.

Duke

Quote from: Joseman on 19:50, 07 January 17
UPDATE!! I found a problem with the new rom! with Beta 9, the original version of Ghosts N Goblins, works (it has no protection), but with the last beta, it reset!
Works fine here with my regular CPC6128, with lowerrom mod2 / without lowerrom mod, as rom6 and as rom7...

Duke

#1172
Quote from: Joseman on 19:50, 07 January 17
And talking about the Kick Off versions... another strange thing... the game refuses to work even with the new rom (typing |disc), no modified lower rom but from floppy!, the same, red border... i'm still pretty sure that it isn't a load error... but some thing between the M4 and the game code...

Ok, here's what goes wrong.

The game does a re-init of all roms with KL_ROM_WALK and then does a HIMEM check.
When both AMSDOS and M4 is present, M4 will use 128 bytes of workspace, so we get AMSDOS workspace + 0x80.
If only M4 is present (set to rom7 or using lowerrom mod) we get a lot more himem than with AMSDOS.

So that is why it works with lowerrom mod or when directly replacing AMSDOS, with both it fails.

Here is the code:

KICK MEM CHECK FAIL
ORG &322F
LD    DE,&0040
LD    HL,&B0FF        <-- start initing roms from (try changing it to B07F when using amsdos = FAIL)
CALL &BCCB        <-- KL ROM WALK (init all roms!) return HL = himem
LD    BC,&5410
ADD    HL,BC
JR    NC,MEM_FAIL
LD    HL,&320A
CALL &BCD4
JR    NC,L324B
LD    A,&0000
CALL &001B
L324B:
LD    A,&00FF
CALL    &BC6B
RET
MEM_FAIL:
LD    A,&000C
CALL &429F        <-- set border raster color red
DI
ENDLESS: JR ENDLESS

EDIT: Added at patch so it only initializes the disc rom, to the "Kick Off (UK,F,G,S,I) (1990).dsk" which also had a plus patch.

Joseman

Quote from: Duke on 08:31, 08 January 17

Btw. CNG's method of finding which disc rom to init, is as follows (good method if you need to do it to fix a game, it needs to be read and stored before wiping memory):
LD HL,(&BC78)
INC HL
INC HL
LD A,(HL)  <-- rom number to init.


Thankyou for all the explanations!!

one question, as today i'm a bit "slow"... what data we retrieve in the #BC78? i'm sure that i know it in the past  :laugh:

I have to leave today for a voyage, but i will go in depth with Kickoff do... but as i see, i was right, it do a simple protection check...


Duke

Quote from: Joseman on 13:56, 08 January 17
Thankyou for all the explanations!!

one question, as today i'm a bit "slow"... what data we retrieve in the #BC78? i'm sure that i know it in the past  :laugh:

I have to leave today for a voyage, but i will go in depth with Kickoff do... but as i see, i was right, it do a simple protection check...
@BC77 and the other redirected cas_* functions
RST <memory ptr>
which points to
<romhandler>, rom number

Not sure if it was a protection, I guess more like making sure there was enough memory for the game. Tbh. I don't know if it needs the disc rom(can you maybe save/load data ingame?).

Bon voyage :)

Powered by SMFPacks Menu Editor Mod