Jump to content
IGNORED

AspeQt: Yet another SIO2PC/APE clone


cyco130

Recommended Posts

Lo and behold the two files had different lengths and closer examination with a hex editor revealed that the copy of the file in the ATR had extraneous bytes (in fact a specific value - $0D-Carriage Return character) in several places throughout the body.

This sounds like a file might have been opened in text mode instead of binary mode - or you use some function that's doing lf->crlf translation.

 

BTW: Just tried to compile current svn trunk and noticed 3 files were missing:

hias@atari:~/atari/aspeqt/svn$ qmake
RCC: Error in 'documentation.qrc': Cannot find file 'AspeQt User Manual-English.html'
RCC: Error in 'documentation.qrc': Cannot find file 'AspeQt User Manual-German.html'
RCC: Error in 'images.qrc': Cannot find file 'images/MainWindowBackGround.png'
RCC: Warning: No resources in 'images.qrc'.
BTW2: it would be nice if you could include a short commit message, so viewing the svn log gives a hint on what was changed in each commit.

 

so long,

 

Hias

Link to comment
Share on other sites

Ok guys, lets not get this into another pissing contest. I admit this time around I was too quick to jump the gun on uflash unlike other times when I had problems or concerns with FJC's (or other people's) software and reported them to him (them) most of the times with videos simply to show the issue more clearly. Using videos is not for any other purpose and he knows it. This time I removed the video as fast as I can so that I do not create unfair references to his software, I came here and made my misunderstanding and the bug in AspeQt public (I could have just as well hide it and fix it and mix it quietly with other modifications). I also apologized to FJC in the uflash thread, yet he still comes here and makes remarks which has nothing to do with the problem at hand.

 

I will not drag this issue further and will continue to work with AspeQt, unfortunately debugging a multi-threaded, event driven, signals and slots based code is not easy to debug, AspeQt has a lot of complex code and multitude of objects and inheritances to deal with and understand, majority of the code is not mine so the debugging will take some time and effort, therefore I better spend my time doing just that and fixing instead of creating new opportunities for more show.

 

My gratitudes and thanks goes to everybody who supports and appreciates using AspeQt. Some authors have issues when they have users who take a serious look at their software and don't hesitate to voice their concern or suggestions with whatever means they see necessary, they would much prefer to hearing and reading comments like "you're the best, you're the greatest". I am not one of them, I can take the criticism just as well as I take praise (something I rarely get and thus appreciate very much when it happens).

 

So again, it was my mistake to jump the gun with this latest issue therefore I apologize for that, let's get back to the fun of debugging :)

Edited by atari8warez
Link to comment
Share on other sites

This sounds like a file might have been opened in text mode instead of binary mode - or you use some function that's doing lf->crlf translation.

 

BTW: Just tried to compile current svn trunk and noticed 3 files were missing:

hias@atari:~/atari/aspeqt/svn$ qmake
RCC: Error in 'documentation.qrc': Cannot find file 'AspeQt User Manual-English.html'
RCC: Error in 'documentation.qrc': Cannot find file 'AspeQt User Manual-German.html'
RCC: Error in 'images.qrc': Cannot find file 'images/MainWindowBackGround.png'
RCC: Warning: No resources in 'images.qrc'.
BTW2: it would be nice if you could include a short commit message, so viewing the svn log gives a hint on what was changed in each commit.

 

so long,

 

Hias

 

 

Hias the code in question is not mine so I can not comment what it is exactly wrong with it until i have a chance to examine it (gotta first find the exact point in the code where the file is processed ). I will add those missing files and include commit messages in the future, thanks for the suggestion about the bug, will keep that in mind.

Link to comment
Share on other sites

version 1.0.0 Preview-5 (Feb 23, 2014)

 

Finally got to the bottom of the file corruption problem that occurred when the Image Explorer is used to insert files into an ATR image.

 

Issue: When a binary file is inserted into an ATR via Image Explorer by either "Add File" menu item, or by drag and drop functionality, AspeQt was doing a text conversion and dropping $0D characters from the binary file causing the corruption of the said file.

 

Reason: The primary reason was I believe the Image Explorer has never been fully tested and was (and still is) under development as indicated by the AspeQt manual. But the specific reason for the above issue was an improper IF statement which had an if condition that should have really been an else condition and vice versa.

 

Fix: Changed the offending if statement and tested the Text Conversion logic to make sure text and binary files are processed correctly. Also cleaned-up code which displayed a vague error message when number of bytes read from the file did not match expected number of bytes.

 

Proper procedure for converting text files with AspeQt Text Conversion feature:

 

Case-1: Atari format text file is on the PC and you want to add it to the ATR image, simply insert/drop the file into Image Explorer window with Text Conversion OFF

 

Case-2: Atari format text file is on the PC and you want to convert it to the PC format (using AspeQt like a text converter), simply insert/drop the file into Image Explorer window with Text Conversion OFF, then extract/drag-and-drop from the Image Explorer to the PC with Text Conversion ON.

 

Case-3: Atari file format text file is on Atari and you want to add it to the ATR image, simply copy the file with your Atari to the drive where the ATR image is mounted.

 

Case-4: Atari file format text file is on Atari and you want to copy it to your PC in PC text file format, first copy the file with your Atari to the drive where the ATR image is mounted, then extract/drag-and-drop the file from Image Explorer to PC with Text Conversion ON

 

Above procedure text will also be added to AspeQt manual for the upcoming v1.0.0 release

 

aspeqt_v1_P5.zip

Edited by atari8warez
Link to comment
Share on other sites

Back to 1050 Turbo. As I wrote in http://atariage.com/forums/topic/221086-sio2sd-and-real-1050-drive-dont-like-each-other/?view=findpost&p=2926821 I want to have possibility to transfer (copy between) in 1050 turbo speed mode from/to real drive/SIO2SD/AspeQt connected simultanously to computer. Nothing but that or as much that.

Edited by lemiel
Link to comment
Share on other sites

Back to 1050 Turbo. As I wrote in http://atariage.com/forums/topic/221086-sio2sd-and-real-1050-drive-dont-like-each-other/?view=findpost&p=2926821 I want to have possibility to transfer (copy between) in 1050 turbo speed mode from/to real drive/SIO2SD/AspeQt connected simultanously to computer. Nothing but that or as much that.

 

 

Sorry Lemiel, I have other priorities with AspeQt and I am not able to commit any time to studying/understanding Turbo system's inner workings at this time. I however welcome anybody who has such knowledge and time to get involved and work on such an add-on module for AspeQt, after all it is open source and everybody has access to the source code.

Link to comment
Share on other sites

  • 3 months later...

version 1.0.0-preview-6 is now available at sourceforge

 

Major change in this release is the porting of the source code to Qt SDK 5.2.1. Linux/Mac OS X users will need to install Qt 5.2.1 SDK (or newer) to compile the source.

 

The move was necessary for two reasons, the obvious one is to be up to date, the less obvious one is the changes made for a successful OS X compile. AspeQt has never been developed with OS X in mind, so many people had difficulty compiling it under that OS. One day I found that one user (optixx) was able to successfully compile and run it under OS X, but he wasn't up to date with v0.8.8 (the most current version as of that day), so I asked him if he could try compiling v0.8.8 and see if it works, he obliged, and told me that he was successful, but he needed to upgrade Qt SDK to 5.2 in order to do it. This was great in two folds, we can finally have a working OS X version of the mainline code plus we can also port the code to the latest SDK (something which I was contemplating for some time).

 

Rest of the changes are mostly clean-up (UI and some code) and are as follows:

version 1.0.0 Preview-6
    * Windows registry entries for AspeQt are now stored under "atari8warez.com" registry tree,
      the program will automatically migrate settings on the next run.
      Existing AspeQt session files storing session settings are not affected by this change
    + Code needed to compile AspeQt under Mac OS X is added (David Voswinkel - optixx)
        (see compile.html file included with the source archive)
    * Folder images are now emulated in DOS 2.5 disk format rather than DOS 2.0
      This gives more unique sector numbers to work with before they are re-used in a circular fashion.
    * Fixed the "Not a binary file" error loading certain executable files.
    * Text conversion is now OS platform aware (Win, Linux, OS X)
    * Explorer Window Stay-on-top feature is now user selectable and persistent across sessions.

I am hoping that some OS X users will download the new code, compile and run it and let me (us) know of the results. I do not have an OS X setup so I will rely on you guys. And my thanks go to David Voswinkel (optixx) for his valuable contribution...

Edited by atari8warez
  • Like 2
Link to comment
Share on other sites

Hi,

 

thanks a lot for working on bringing AspeQt to Mac :)!

I posted this in the sourceforge's discussion site as well, but maybe it helps if coders here know about it, too:

 

The recent code-75-trunk is quite a step forward, but there are apparently still quite a number of issues, at least when compiling with Qt5.2.1 as suggested above:

  • qmake throws several missing files errors:
    RCC: Error in 'icons.qrc': Cannot find file 'other-icons/fade.png'
    RCC: Error in 'atarifiles.qrc': Cannot find file 'atari/autoboot/autoboot.bin'
    RCC: Error in 'atarifiles.qrc': Cannot find file 'atari/autoboot/autoboot-hispeed.bin'

  • in miscutil.h the include for zlib should read just "#include ";

  • the QtGui-includes in ui_mainwindow.h should be changed to QtWidgets;

  • QApplication::UnicodeUTF8 in ui_mainwindow.h is apparently deprecated and throws numerous "no member" error;

Didn't get beyond that point as I'm not a Qt expert. Is there any easy pointer on how to address these issues? Some of the code lines seem to be deprecated. Would compiling under 4.8. change that?

 

Again, thanks a lot for all the efforts!

 

F.

  • Like 1
Link to comment
Share on other sites

OK this doesn't actually look too bad, several of the above issues (mainly the "missing" errors) are my fault and easy to fix, i deleted some files that are no longer required but apparently forgot to update resource files, these can be fixed easily. (and by the way will cause Linux compiles to fail too). Let me correct these and commit the code so you can try again. Thanks for taking this for a test drive :thumbsup:

Link to comment
Share on other sites

  • the QtGui-includes in ui_mainwindow.h should be changed to QtWidgets;

  • QApplication::UnicodeUTF8 in ui_mainwindow.h is apparently deprecated and throws numerous "no member" error;

 

Ok, revision 76 is in trunk now with above problems fixed, except these two above which maybe due to old ui_mainwindow.h file remaining in the build directory. I searched the contents of my ui_mainwindow.h and could not find any references to QtGUI (which was deprecated and thus changed to QtWidgets in the code). Just make sure to delete any ui_*.h files from the build directory before you re-compile or if you are using QtCreator GUI for the compilation, make sure you issue a "Clean ALL" command before "Build".

 

There are still some warning messages issued during the compile but they are not show stoppers (at least not in the Windows platform), i will clean those before the next commit. Let me know how it goes with revision 76.

Link to comment
Share on other sites

I'll try first thing tomorrow morning at my workstation (which is where I have installed Qt and XCode, too little diskspace on my MacBook). Thanks also for the hint regarding the ui_*.h files, will delete them then, but not sure if that'll fix it because I extracted the trunk-source in a new directory and built from there. But we'll see, I'll give you an update asap.

Link to comment
Share on other sites

Good news everyone: Compiling works now (just a few warnings thrown) and the app itself also runs smooth (haven tested with actual SIO2PC hardware yet.

One thing would be great in order to allow for a stable version that can be distributed on the web:

Would it be possible to include the necessary libraries statically instead of linking them dynamically? Because now it still requires that users either symbolically link the compiler's Qt directory to their own (as I pointed out elsewhere) or compile the whole program on their own (including the installation of bloated XCode).

Since the aspeqt binary itself is rather small, adding the Qt libraries statically wouldn't hurt much. Maybe this is just a little switch in during compilation that I don't know of? If so, I'd be happy to provide everyone with a standalone app that can be used by every Mac-user.

 

Other than that, I'm really happy with that great little piece of software. Only two things missing in my opinion to make it perfect: R:-emulation (to use it as a 850 replacement and connect to telnet BBS for examle, similar to APE), and (for me) more importantly, the ability to connect a disk drive directly to the computer and use AspeQt, similar to APE's ProSystem tool. That would be so awesome :)...

Link to comment
Share on other sites

...ok, after a while of googling I found out two ways:

One, more general approach which might also apply for Linux is explained here:

http://qt-project.org/doc/qt-4.8/deployment-mac.html

Basically you have to recompile Qt to use libraries statically by doing a

cd /path/to/Qt
./configure -static <other parameters>
make sub-src

This takes ages.

Afterwards you recompile AspeQt by doing

 make clean
 qmake -spec macx-g++

That should give you a statically linked binary. On Mac you can check whether there are still dynamically linked libraries involved by doing a "otool -L" on the app.

 

But while waiting for all this I found a much easier way of getting a portable binary on the Mac:

Just go to Qt's binary folder and execute ./macdeployqt /path/to/aspeqt.app/ and it will create a portable application which can be used on any other Mac. I'll upload the most recent one on my website later, so everyone can benefit from it.

 

Cheers,

 

F.

Edited by freetz
Link to comment
Share on other sites

Hm, that's strange, I just downloaded it and double-clicked it, then the unarchiver starts to extract the .tar.gz and out comes aspeqt.app. Tried this several times just now in a row on Mac OSX 10.9. Have you tried re-downloading the file, maybe something got broken during the download?

If you still can't open it, I'll also upload a different compressed file.

Link to comment
Share on other sites

Hello Frederik

 

I tried Stuffit Expander instead of the software (I'm not even gonna try to translate it's name) that's automatically used for un-tar-ing. Now un-tar-ing works.

 

Now all I have to do is find out how to get rid of this message: "Cannot open serial port '/dev/tty.usbserial': No such file or directory."

 

Sincerely

 

Mathy

Link to comment
Share on other sites

Don't know the exact English term either, it's "Archivierungsprogramm" in German ;). But glad it works with Stuff-It.

 

Now you still need to adjust this to the device name of your SIO2PC device, for me this is

/dev/tty.usbserial-A8WD9SHV

Just open a terminal, and do

ls /dev/*eria*

and see what the output is. Provided your SIO2PC device is connected, you should find something looking like the one above. Then go to Tools/Options and enter this at Port Name.

 

Hope it works.

Edited by freetz
Link to comment
Share on other sites

Don't know the exact English term either, it's "Archivierungsprogramm" in German ;). But glad it works with Stuff-It.

 

Now you still need to adjust this to the device name of your SIO2PC device, for me this is

/dev/tty.usbserial-A8WD9SHV

Just open a terminal, and do

ls /dev/*eria*

and see what the output is. Provided your SIO2PC device is connected, you should find something looking like the one above. Then go to Tools/Options and enter this at Port Name.

 

Hope it works.

 

A8WD9SHV in /dev/tty.usbserial-A8WD9SHV is the serial number of the device (SIO2PC/10502PC Dual-USB), the first two characters always is A8.

 

Yesterday I downloaded and installed VirtualBox on my laptop, I will run OS X and Linux on it so that I can at least test AspeQt on these platforms. Gotta first learn how to use those two OSes though :)

Edited by atari8warez
Link to comment
Share on other sites

 

A8WD9SHV in /dev/tty.usbserial-A8WD9SHV is the serial number of the device (SIO2PC/10502PC Dual-USB), the first two characters always is A8.

 

Yesterday I downloaded and installed VirtualBox on my laptop, I will run OS X and Linux on it so that I can at least test AspeQt on these platforms. Gotta first learn how to use those two OSes though :)

I Dont think you can run OSX in VM. Unless its been hacked somehow.

 

I can also help you out since I run OSX and have dev exp. pm me for email address if interested.

Edited by Ripdubski
Link to comment
Share on other sites

I Dont think you can run OSX in VM. Unless its been hacked somehow.

 

I can also help you out since I run OSX and have dev exp. pm me for email address if interested.

 

You can, runs in VMware and Virtualbox. There are some images/tutorials online that'll get you started. I made one so I can goof around with iphone development.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...