Jump to content
IGNORED

AspeQt for Android (beta).


greblus

Recommended Posts

Hi there.

 

I know that there's been a lot about AspeQt recently on AAge, but as some of you know I've been having fun with my attempt to port AspeQt to Android and finally "the hugly *uck" as I call it is here:

 

 

The repo is on github:

 

https://github.com/greblus/aspeqt

 

and the apk can be downloaded from this link:

 

https://github.com/greblus/aspeqt/raw/android/android/apk/aspeqt.apk

 

It's really a work in progress. Currently it supports 19200 bps only, booting atr files and xex files works. Cas loading is not working yet.

 

What's necessary to use it:

1. Android device with USB host (OTG) support.

2. OTG cable.

3. Sio2PC-USB (I used the one made by Lotharek, it has DSR line connected).

4. Currently it works on Android 4.2.2 (maybe earlier versions too, but probably won't work on anything older than Android 4.

5. No root necessary.

6. No drivers necessary (d2xx java driver is in the package).

7. On first run, when it will ask you to open Aspeqt's settings, you can safely say no. The settings are currently hardcoded.

 

IMPORTANT:

There is a bug in ftd2xx driver due to which the device can't be opened on first try, so in order to start the emulation:

  • start AspeQt
  • connect Sio2USB
  • answer Yes to the permissions request
  • click on the connection icon to start the emulation (yes, I'm planning to make the original icon bigger in the future ;)).

I'll find a good solution to this soon.

 

For the brave ones, who would like to compile or experiment with the code:

  • Use qt-opensource-$YOUR_PLATFORM-android-5.4.2, Qt5.5 has some JNI issues. I've yet to report them or ask the author to enlighten me of what's happening.
  • It won't run on KitKat or above (SIGABRT, signal 6 due to some threading issues, hopefully to be solved soon).

And the last word: don't shoot the pianist, he's doing the best he can ;). I'm not a professional Android programmer. I don't even like C++ and Java.

 

Cheers,

W.

 

  • Like 5
Link to comment
Share on other sites

Ken, can you tell me on what Android version you've tried to run it and what's the display size?

 

It crashes as I intentionally commented out the destructor, so it'll show an intruding message on closing the app ;) but I'm currently trying to solve one more issue with KitKat (guys at Google are good at breaking or changing stuff without documenting it well), hopefully soon it'll be more usable. On 4.2.2 it's ok.

 

Cheers,

W.

Link to comment
Share on other sites

What's necessary to use it:

1. Android device with USB host (OTG) support.

2. OTG cable.

3. Sio2PC-USB (I used the one made by Lotharek, it has DSR line connected).

4. Currently it works on Android 4.2.2 (maybe earlier versions too, but probably won't work on anything older than Android 4.

5. No root necessary.

6. No drivers necessary (d2xx java driver is in the package).

7. On first run, when it will ask you to open Aspeqt's settings, you can safely say no. The settings are currently hardcoded.

 

You mention the settings are hardcoded. Will this be addressed soon?

 

Currently I cannot get the app to run through 'RI' instead of 'DSR' handshaking, despite setting it to 'RI' in the 'Tools->Settings' dialogue.

Link to comment
Share on other sites

You mention the settings are hardcoded. Will this be addressed soon?

 

Currently I cannot get the app to run through 'RI' instead of 'DSR' handshaking, despite setting it to 'RI' in the 'Tools->Settings' dialogue.

 

Sure, please try the apk now, hope it works:

 

https://github.com/greblus/aspeqt/raw/android/android/apk/aspeqt.apk

 

Speed is still hardcoded, I hope it'll work for you.

  • Like 1
Link to comment
Share on other sites

Another small update:

 

 

It works on Kitkat. It turned out that my Kazam Tornado 348 has OTG support but it doesn't support USB Host, while my wife's Kazam 345 has it all. I don't know what they're thinking and what they're smoking out there but people should start complaining about removing USB support from their devices (If it's there in the hardware, why not to give a choice, usb can be unloaded from the kernel if user doesn't want it).

 

As you can see on the video, AspeQt now starts automatically after Sio2USB cable is plugged-in.

 

Apk as usual is here: https://github.com/greblus/aspeqt/raw/android/android/apk/aspeqt.apk

 

Now it's time to correct the UI...

  • Like 1
Link to comment
Share on other sites

As you can see on the video, AspeQt now starts automatically after Sio2USB cable is plugged-in.

 

 

Well, I generally try not to correct people, since sometimes they get offended, but this is a point here that could confuse people, so I will. SIO2USB is a separate, standalone device, one which uses USB memory sticks to emulate SIO devices. SIO2PC-USB is the proper name for what you have referred to as the 'Sio2USB cable.'

  • Like 2
Link to comment
Share on other sites

Hi, no permission window openns. The ui drives windoww looks better but really small. Also, it tells me emulation stopped, seems it nebver actually starts. The dialog window for opening a file to mount dor a drive is clipped on the right. Much better, it is showing lots of improvement.

 

Ken

Link to comment
Share on other sites

Hi, no permission window openns. The ui drives windoww looks better but really small. Also, it tells me emulation stopped, seems it nebver actually starts. The dialog window for opening a file to mount dor a drive is clipped on the right. Much better, it is showing lots of improvement.

 

Hi Ken. Thanks for testing, it's really helpful (I've only two devices with USB-Host, so testing is really important).

 

First make sure that you're using the latest version from github:

 

https://github.com/greblus/aspeqt/tree/android/android/apk

 

if so, right after plugging-in the cable, do you see a pop-up window asking to open AspeQt like on the video in post #12 (0:15)? If not, it might be as in my case: no USB-Host support (but e.g. pendrive or usb joy will work). Initially I was blaming ftd2xx driver for it, but it's a result of a very "specific" system configuration.

 

As another test, could you please check your device's USB-Host functionality using this app from Google Play:

 

https://play.google.com/store/apps/details?id=eu.chainfire.usbhostdiagnostics

 

Currently I'm working on two ideas:

 

1. Depending on screen resolution we'll start either full-size (but I think I'll limit the amount of drives to 6) or in mini mode with one drive, but I'll make it big.

2. Qt5 filechooser on Android looks terrible, I'll use some other file/directory open dialog from the Android World.

 

Cheers,

W.

Edited by greblus
Link to comment
Share on other sites

Just thought I'd let you know that I have tested this on my Lenovo Yoga tablet and it kinda works. Can get it to load some files although one game loaded and was corrupted and another loads but really slow. Next attempt caused the tablet to reboot completely.

But at least the tablet is seeing the SIO2 USB.

 

This will be great if and when fully working including .cas loading. Can finally get rid of the cumbersome laptop!

Link to comment
Share on other sites

Just a short update: AspeQt is bigger now:

 

bigger_aspeqt.jpg

 

But I did, what I wanted to do long time ago: reduced the number of emulated disks to 6.

 

Djmat54, please send me the file which loaded incorrectly. I'll try to investigate what's going on.And let me know also if the reboots are happening in any reproductible way, or it's just random? The main problem is, that the d2xx driver is closed source and it ain't going to be easy to get support (i tried). The driver kinda works, but only with flow control disabled (that's why it's slow). I hope they'll release an updated version soon.

 

Cheers,

W.

  • Like 1
Link to comment
Share on other sites

Looks great. I often wondered who needed fifteen disks online at the same time. :)

 

I actually use around 5 - 10 at any given time and I'll tell you why:

 

In working on Mac-specific builds, I have a number of test .atr files that I know work great in emulation or with SIO2OSX. When I open up AspeQt or RespeQt, it opens up all the same .atr files I was last working with, so I don't have to go find them all in their various subdirectories. I can then just click and drag whichever one I need into Drive 1 to test it.

But as far as using more than two or three disk images in an actual working/playing session? Never happens.

Link to comment
Share on other sites

Yeah, I can see how that would be handy for testing. I suppose you could put all the test ATRs together in a folder open in another window and drag them in from there. Not quite as convenient, though. I always thought the extra drives could be an option and/or scrolled in as needed. I use AspeQt heavily for testing stuff on real hardware and I don't think I ever used more than the first two slots. :)

Link to comment
Share on other sites

Yes, using the latest version. Plugging in usb/sio2pc-usb does not bring up anything.

Got the diags installed and ran them. Here is a screenshot.

 

So your tablet is definitely not guilty ;). What Sio2pc-USB device you are using?

I'm asking, because the permission request is fired-up from an intent filter, which is working depending on device id, currently I have added only one ftdi device (Sio2PC-USB from Lotharek):

 

<usb-device vendor-id="1027" product-id="24577" />

 

If you could check it on a PC, I'll update the filter and it should work.

 

Cheers,

W.

Link to comment
Share on other sites

Yeah, I can see how that would be handy for testing. I suppose you could put all the test ATRs together in a folder open in another window and drag them in from there. Not quite as convenient, though. I always thought the extra drives could be an option and/or scrolled in as needed. I use AspeQt heavily for testing stuff on real hardware and I don't think I ever used more than the first two slots. :)

 

I had an idea (have some code already but I was undecided whether it's a good idea) to test screen resolution and in case if it's less than let's say 5" diagonal size then start AspeQt in mini mode. The original code for mini-mode is still there, but works a bit differently than on a PC. When you toggle the mini mode the first drive stays visible in the middle of the screen (not so "mini", but a window floating around on Android is rather impossible to be done in QT Widgets, maybe I'll try to come up with something minimal in Qt Quick in the future ;)). So my idea was to make it big. But when I saw AspeQt with 6 drives on my 4.6" screen it looked and felt good enough. More important would be to have a native file chooser... But I've to spend some time with my wife and kids first ;).

 

W.

Edited by greblus
Link to comment
Share on other sites

I had an idea (have some code already but I was undecided whether it's a good idea) to test screen resolution and in case if it's less than let's say 5" diagonal size then start AspeQt in mini mode. The original code for mini-mode is still there, but works a bit differently than on a PC. When you toggle the mini mode the first drive stays visible in the middle of the screen (not so "mini", but a window floating around on Android is rather impossible to be done in QT Widgets, maybe I'll try to come up with something minimal in Qt Quick in the future ;)).

Sounds good!

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...