Jump to content

Photo

AspeQt for Android (beta).

sio emulation android

93 replies to this topic

#1 greblus OFFLINE  

greblus

    Chopper Commander

  • 248 posts

Posted Sun Jul 5, 2015 1:14 PM

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

 



#2 greblus OFFLINE  

greblus

    Chopper Commander

  • Topic Starter
  • 248 posts

Posted Mon Jul 6, 2015 1:04 PM

It should work on Kit Kat now (theoretically from API level 12 up so on Android > 3.1). I only have KitKat and JellyBean devices here.

 

New apk is here:

 

https://github.com/g.../apk/aspeqt.apk

 

Cheers,

W.



#3 kenames99 OFFLINE  

kenames99

    Star Raider

  • 62 posts

Posted Mon Jul 6, 2015 7:46 PM

hi,

  I just installed it and it started with a messed up display where D1 thru D8 should have been. then it crashed and now it wont start up again. It will be real neat when this is done and out of beta. keep up the good work.

 

Ken



#4 greblus OFFLINE  

greblus

    Chopper Commander

  • Topic Starter
  • 248 posts

Posted Tue Jul 7, 2015 12:32 AM

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.



#5 morelenmir OFFLINE  

morelenmir

    Stargunner

  • 1,451 posts
  • Location:West Yorkshire, Great Britain

Posted Wed Jul 8, 2015 10:25 AM

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.



#6 w1k OFFLINE  

w1k

    Stargunner

  • 1,640 posts
  • Location:martin, slovakia

Posted Wed Jul 8, 2015 1:00 PM

why is not official on android market?



#7 greblus OFFLINE  

greblus

    Chopper Commander

  • Topic Starter
  • 248 posts

Posted Wed Jul 8, 2015 2:15 PM

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/g.../apk/aspeqt.apk

 

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



#8 greblus OFFLINE  

greblus

    Chopper Commander

  • Topic Starter
  • 248 posts

Posted Wed Jul 8, 2015 2:18 PM

why is not official on android market?

 

Because it's an early beta, working on a limited set of Android devices (precisely speaking: probably only one) ;).

Maybe one day.



#9 morelenmir OFFLINE  

morelenmir

    Stargunner

  • 1,451 posts
  • Location:West Yorkshire, Great Britain

Posted Wed Jul 8, 2015 2:28 PM

 

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

 

https://github.com/g.../apk/aspeqt.apk

 

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

 

Will do, GreblusMany thanks - that was super-fast work!!!



#10 kenames99 OFFLINE  

kenames99

    Star Raider

  • 62 posts

Posted Wed Jul 8, 2015 4:06 PM

hi Greblus, it is a samsung sm-t800 galaxy tab s, 10.5" display running droid 5.02

hope the info helps

 

I hope you can see this screenshot.

 

Ken

Attached Thumbnails

  • Screenshot_2015-07-08-15-10-32.png

Edited by kenames99, Wed Jul 8, 2015 4:13 PM.


#11 greblus OFFLINE  

greblus

    Chopper Commander

  • Topic Starter
  • 248 posts

Posted Thu Jul 9, 2015 12:33 AM

Thanks Ken.

 

Ok, the UI will definitely need some improvement soon ;).

 

One more question: after you start AspeQt and when you connect sio2usb, do you see a permission request window?

 

Cheers,

W.



#12 greblus OFFLINE  

greblus

    Chopper Commander

  • Topic Starter
  • 248 posts

Posted Thu Jul 9, 2015 4:50 PM

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/g.../apk/aspeqt.apk

 

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



#13 Joey Z OFFLINE  

Joey Z

    Dragonstomper

  • 839 posts
  • Location:Hoffman Estates, IL

Posted Thu Jul 9, 2015 6:38 PM

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



#14 kenames99 OFFLINE  

kenames99

    Star Raider

  • 62 posts

Posted Sun Jul 12, 2015 8:23 PM

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

#15 greblus OFFLINE  

greblus

    Chopper Commander

  • Topic Starter
  • 248 posts

Posted Mon Jul 13, 2015 12:52 AM

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/g...oid/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....hostdiagnostics

 

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, Mon Jul 13, 2015 1:51 AM.


#16 djmat56 OFFLINE  

djmat56

    Chopper Commander

  • 104 posts

Posted Tue Jul 14, 2015 1:03 PM

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!



#17 greblus OFFLINE  

greblus

    Chopper Commander

  • Topic Starter
  • 248 posts

Posted Tue Jul 14, 2015 4:31 PM

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.



#18 flashjazzcat OFFLINE  

flashjazzcat

    Quadrunner

  • 12,250 posts
  • Location:United Kingdom

Posted Tue Jul 14, 2015 5:29 PM

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

#19 DrVenkman OFFLINE  

DrVenkman

    Stargunner

  • 1,614 posts
  • Starmaster Leader
  • Location:KMBT

Posted Tue Jul 14, 2015 5:43 PM

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.



#20 flashjazzcat OFFLINE  

flashjazzcat

    Quadrunner

  • 12,250 posts
  • Location:United Kingdom

Posted Tue Jul 14, 2015 6:18 PM

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

#21 kenames99 OFFLINE  

kenames99

    Star Raider

  • 62 posts

Posted Tue Jul 14, 2015 10:40 PM

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.

Ken

Attached Thumbnails

  • Screenshot_2015-07-14-21-31-28.png


#22 greblus OFFLINE  

greblus

    Chopper Commander

  • Topic Starter
  • 248 posts

Posted Wed Jul 15, 2015 12:53 AM

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.



#23 greblus OFFLINE  

greblus

    Chopper Commander

  • Topic Starter
  • 248 posts

Posted Wed Jul 15, 2015 1:57 AM

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, Wed Jul 15, 2015 2:09 AM.


#24 kenames99 OFFLINE  

kenames99

    Star Raider

  • 62 posts

Posted Wed Jul 15, 2015 11:13 AM

hi greblus, it is a sloopy built device, should be ftdi based. anyway, it has id of 067b_2303 which is actually a prolific id, so, hope this helps.

Ken

#25 flashjazzcat OFFLINE  

flashjazzcat

    Quadrunner

  • 12,250 posts
  • Location:United Kingdom

Posted Wed Jul 15, 2015 11:23 AM

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!





Also tagged with one or more of these keywords: sio emulation, android

0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users