avatar_pelrun

Updated/Fixed AFT.EXE for windows+minibooster users

Started by pelrun, 08:02, 07 March 15

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

pelrun

The Arkos tools are great but I've not had any luck actually transferring anything over bluetooth or usb serial from my windows machine, so I finally got fed up and fixed it.  8)


The serial code was a bit of a mess, and wasn't checking the return values from the IO calls - which means you'd get half a block and then try to process whatever rubbish was in the other half of the buffer. I've cleaned it all up, and made sure everything is checked properly. The result is a binary that has transferred multiple disk images and files without a hiccup.

Oh, and the command line options have changed. You need to use the full comport name, e.g.


aft -p COM40


I've put up my source tree at pelrun/aft · GitHub, and attached the binary here.


Edit: updated to fix the timeouts on windows properly, so it shouldn't use up 100% of a core anymore.


CraigsBar

IRC:  #Retro4All on Freenode

pelrun

Sorry, I don't have a mac or a cross compiler targetting it. You probably can compile it yourself though - there's a basic makefile there that's platform independent.


No guarantees, though, I haven't tested any of the unix-specific code.

TotO

As I know, SyX had already made all the changes required and support all 32/64bit OS as OSX, Linux and Windows.
Have you tested the versions from the MiniBooster ZIP?
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

CraigsBar

Quote from: TotO on 11:44, 07 March 15
As I know, SyX had already made all the changes required and support all 32/64bit OS as OSX, Linux and Windows.
Have you tested the versions from the MiniBooster ZIP?
the one in the mini booster zip does not play nice with osx at all. The latest from the arkos website works fine except it needs restarting on the Mac after every 4 or 5 transfers.
IRC:  #Retro4All on Freenode

pelrun

Quote from: TotO on 11:44, 07 March 15
Have you tested the versions from the MiniBooster ZIP?


That's the version I was using, and it's what I based my fixed version off of. The serial IO was fundamentally broken; it is just luck that made it work in any particular situation (ReadWord was a straight up random crash generator!). It's the differences in timeout behaviour on various OS's that affected it most strongly; my Windows machine seems to really love to timeout it's serial IO calls even when configured not to.

TFM

Great work! I'll give it a try after work!  :) :) :)
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Ast

_____________________

Ast/iMP4CT. "By the power of Grayskull, i've the power"

http://amstradplus.forumforever.com/index.php
http://impdos.wikidot.com/
http://impdraw.wikidot.com/

All friends are welcome !

TotO

OK. Thank you for your fix so. I will have to test it next week! :)
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

pelrun

Quote from: Ast on 09:21, 08 March 15
Does it run with Cpc booster+ too?


That's up to the Arkos ROM on the CPC side. I don't think there are any protocol differences between the original and the minibooster version, so give it a go!

pelrun

Just noticed it was using up 100% cpu on one core, so I fixed the timeouts properly. Now it uses pretty close to 0% cpu. Updated binary in the first post.

coox

Many, many thanks, pelrun!
I can confirm that the revamped AFT tool compiles on Linux, and works perfectly.
You allowed me to start the process of transferring my 25+ years disks to a modern computer!

CraigsBar

Quote from: coox on 09:44, 07 September 15
Many, many thanks, pelrun!
I can confirm that the revamped AFT tool compiles on Linux, and works perfectly.
You allowed me to start the process of transferring my 25+ years disks to a modern computer!
I guess that means I need to see if it compiles on a Mac then lol.
IRC:  #Retro4All on Freenode

arnoldemu

Works on linux 64-bit. I used it today.

I had to make one small fix.
RS232_OpenComport is described as (in the header):

int RS232_OpenComport(const char *comport, int, const char *, HANDLE *handle);

But in the c file:
RS232_OpenComport is described as (in the header):

int RS232_OpenComport(char *comport, int, const char *, HANDLE *handle);

This needed fixing for me to compile it successfully.



My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

arnoldemu

@Targhan:

I used readdsk today. I did a crazy thing.

I put rsxs.bas and rsxs.bin into a cdt file, converted to a au file, and used audacity to play it into my cpc6128 via a cassette cable.

I did this because I wanted to read some disks on the cpc, I didn't have a 3.5" drive connected to my cpc at the time, I don't have arkos tools on rom.

This was the quickest route at the time. I have some suggestions (I am happy to make the modifications if you will share the source).

1. The rsxs.bas doesn't use ! in the filename, so the cassette stopped and I had to press a key.
2. it would be nice if readdsk was auto-launched.
3. When readdsk is done, it resets the cpc.  I had to reload the program from cassette again :(. It would be good if it would let the user use it again, and press ESC to quit it.



My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

pelrun

Quote from: arnoldemu on 17:27, 04 October 15
This needed fixing for me to compile it successfully.


Weeeird, I couldn't get gcc to complain about it to me. Fixed.

PulkoMandy

I just noticed your changes and merged them into the CPCSDK version (which also supports the Haiku operating system, and support both full names and numbers for COM ports).
Thanks for the fixes!

pelrun

Thanks for that. There's been an issue on github to merge my changes in for months, but I've been too lazy/otherwise distracted to do it myself.

Poliander

Any idea why AFT.EXE doesn't work here? MiniBooster is connected, USB drivers are installed...

Schneider CPC 664 • X-MEM • Vortex F1-X Drive • CTM 644 • DMP 2160
Schneider CPC 6128 • Z-MEM • M4 Board • MultiPlay + Amiga Mouse • OSSC

Poliander

...hmmm... original aft.exe from centpourcent.net has issues, too..  :'(

Schneider CPC 664 • X-MEM • Vortex F1-X Drive • CTM 644 • DMP 2160
Schneider CPC 6128 • Z-MEM • M4 Board • MultiPlay + Amiga Mouse • OSSC

arnoldemu

#20
Quote from: Poliander on 16:30, 19 June 16
...hmmm... original aft.exe from centpourcent.net has issues, too..  :'(
It's the "unknown command" that it is failing on.

EDIT: Which version of windows are you using?
Have you tried running cmd as administrator and then aft?
Do you know the serial configuration you are using?
What is your serial device (a usb device or?) ?
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

Poliander

#21
Quote from: arnoldemu on 18:12, 19 June 16
It's the "unknown command" that it is failing on.

EDIT: Which version of windows are you using?
Have you tried running cmd as administrator and then aft?
Do you know the serial configuration you are using?
What is your serial device (a usb device or?) ?

It's Windows 7 64 bit, MiniBooster connected via USB and I tried as Administrator without success. But I just found a third version of AFT.EXE version that actually works!
Schneider CPC 664 • X-MEM • Vortex F1-X Drive • CTM 644 • DMP 2160
Schneider CPC 6128 • Z-MEM • M4 Board • MultiPlay + Amiga Mouse • OSSC

pelrun

What version of the arkos tools are you using on the CPC side?

Poliander

#23
VERSION.BAS says "1.0", WriteDSK is V1.2
Schneider CPC 664 • X-MEM • Vortex F1-X Drive • CTM 644 • DMP 2160
Schneider CPC 6128 • Z-MEM • M4 Board • MultiPlay + Amiga Mouse • OSSC

Powered by SMFPacks Menu Editor Mod