Page 2 of 3

Re: Basilisk II Android port - progress thread

Posted: Mon Jan 05, 2015 5:21 am
by kikyoulinux
Lubomyr wrote:New version of BasiliskII include GUI
libSDL based gui used libGuichan

http://anddev.at.ua/load/emulators/basilisk_ii/2-1-0-24

gui screenshots
Image

Image

Image

Image
I updated to the GUI version, only to see "Restarting, please wait..."

Re: Basilisk II Android port - progress thread

Posted: Wed Jan 07, 2015 3:00 pm
by 24bit
Many thanks for the update Lubomyr!
The GUI looks very good and the issues with paths are gone, Mac files may even reside on a external SD card. Thats really great progress.
My mouse pointer is a bit nervous and my screens aspect ratio is not right yet.

GREAT work!

Path to external_sd:
Image

Funny aspect ratio:
Image

Edit 2: Solved!

Seems sound is just not working with my MacOS 7.1 volume, my drive apparently was not prepared for "Every Mac" but for a MacII.
Sound is working like a charme in 7.5.
I also could set my native resolution 1024x600 via the prefs file.

Re: Basilisk II Android port - progress thread

Posted: Wed Jan 07, 2015 5:22 pm
by Lubomyr
BasiliskII updated 07.01.2015

http://anddev.at.ua/load/emulators/basilisk_ii/2-1-0-24

- fixed compatibility with Android 5.x (tested with Android 5.x emulator)
- added resulution 1024x600
- few minor changes

Re: Basilisk II Android port - progress thread

Posted: Wed Jan 07, 2015 5:25 pm
by Lubomyr
24bit,
Screens aspect ratio - please configure via SDL-settings (When run app, when SDL-logo is displayed, press button in top part of screen 'change device configuration')

Re: Basilisk II Android port - progress thread

Posted: Wed Jan 07, 2015 5:43 pm
by Lubomyr
Source code (only for developers)
https://dl.dropboxusercontent.com/u/477 ... 015.tar.gz
It include JIT source from Aranym

X86 JIT from Aranym works correct with BasiliskII, but ARM JIT - crashed. It requires ARM SigSegv implementation similar to Aranym. But it too hard for me.

For ARM JIT building please add some flags in Makefile
DEFS += -DUSE_JIT -DARM_ASSEMBLY -DOPTIMIZED_FLAGS -DDIRECT_ADDRESSING -DCPU_arm

CPUSRCS = ../uae_cpu/basilisk_glue.cpp ../uae_cpu/memory.cpp ../uae_cpu/newcpu.cpp ../uae_cpu/readcpu.cpp ../uae_cpu/fpu/fpu_ieee.cpp cpustbl.cpp cpudefs.cpp cpuemu1.cpp cpuemu2.cpp cpuemu3.cpp cpuemu4.cpp cpuemu5.cpp cpuemu6.cpp cpuemu7.cpp cpuemu8.cpp cpuemu1_nf.cpp cpuemu2_nf.cpp cpuemu3_nf.cpp cpuemu4_nf.cpp cpuemu5_nf.cpp cpuemu6_nf.cpp cpuemu7_nf.cpp cpuemu8_nf.cpp compemu1.cpp compemu2.cpp compemu3.cpp compemu4.cpp compemu5.cpp compemu6.cpp compemu7.cpp compemu8.cpp ../uae_cpu/compiler/compemu_support.cpp compstbl.o cpustbl_nf.o

Re: Basilisk II Android port - progress thread

Posted: Wed Jan 07, 2015 8:29 pm
by 24bit
You are the greatest, Lubomyr!
I did set my BII screen to 683x400 in the prefs file, so it looks about right to me. :)
A larger screen may result in rather small game windows, looking unpleasant on a 7 inch screen.

Image

Thanks for pointing to the SDL features, quite a abundance of settings, I´ll go figure which will suit me best.

Even "Just Grandma and Me" finally is running on the tablet.
The Android GUI does not like spaces in filenames though.

Image

Re: Basilisk II Android port - progress thread

Posted: Thu Jan 08, 2015 5:44 am
by kikyoulinux
OK, it now works. Thanks!
Image

Image

Re: Basilisk II Android port - progress thread

Posted: Thu Jan 08, 2015 5:49 pm
by adespoton
How do you expose the command and alt keys in the Android port? Curious, as I don't own an Android device.

Re: Basilisk II Android port - progress thread

Posted: Fri Jan 09, 2015 6:02 pm
by Lubomyr
adespoton wrote:How do you expose the command and alt keys in the Android port? Curious, as I don't own an Android device.
alt key is supported by some android keyboards.
No idea with command key.

Re: Basilisk II Android port - progress thread

Posted: Wed Jan 14, 2015 5:40 pm
by neozeed
whoa this looks interesting!

what version of ARAnyM did you get the cpu core to compile out of?

I was trying winuae, but kept having glue issues, and then got dragged off onto other things..

looks super cool!

Re: Basilisk II Android port - progress thread

Posted: Thu Jan 15, 2015 12:17 pm
by Lubomyr
neozeed wrote: what version of ARAnyM did you get the cpu core to compile out of?
Aranym 1.0.2
http://sourceforge.net/projects/aranym/ ... nym/1.0.2/

Re: Basilisk II Android port - progress thread

Posted: Thu Jan 15, 2015 12:24 pm
by Lubomyr
neozeed wrote: I was trying winuae, but kept having glue issues, and then got dragged off onto other things..
I tried to compile E-UAE with aranym X86 JIT cpu sources
Core works, Workbech loaded correct, but mostly application crashed.
Also i saw graphics glitches in games.

ARM JIT from Aranym crashed with E-UAE same as Basilisk2. As i saw Aranym used for Arm - arm sigsegv. I don't know how to implement it with Basilisk2 or E-UAE.

Re: Basilisk II Android port - progress thread

Posted: Thu Jan 15, 2015 1:38 pm
by Lubomyr
BasiliskII
with Aranym X86 JIT
Windows binary (builded via cygwin)
https://dl.dropboxusercontent.com/u/477 ... -win32.zip
run via run.bat

sources
https://dl.dropboxusercontent.com/u/477 ... x86jit.zip

Re: Basilisk II Android port - progress thread

Posted: Fri Jan 16, 2015 1:22 am
by neozeed
wow super modern!

I would imagine this should clean up a tonne of possible CPU issues, and give MMU access to those who crave VM so much.... :roll:

I hate to be that guy, but the win32 binary cant find a rom...

Code: Select all

D:\proj\basiliskII-142\test\atari>BasiliskII.exe --config .basilisk_ii_prefs
Basilisk II V1.0 by Christian Bauer et al.
ERROR: Cannot open ROM file.

Code: Select all

D:\proj\basiliskII-142\test\atari>grep -i rom .basilisk_ii_prefs
nocdrom false
rom     Quadra800.rom

D:\proj\basiliskII-142\test\atari>dir Quadra800.rom
 Volume in drive D is Data
 Volume Serial Number is 28CB-430C

 Directory of D:\proj\basiliskII-142\test\atari

11/16/2013  04:34 PM         1,048,576 Quadra800.rom
I know, use the source Luke! ...

Re: Basilisk II Android port - progress thread

Posted: Fri Jan 16, 2015 1:31 am
by neozeed
Lubomyr wrote: ARM JIT from Aranym crashed with E-UAE same as Basilisk2. As i saw Aranym used for Arm - arm sigsegv. I don't know how to implement it with Basilisk2 or E-UAE.
Oh great, sounds like SheepShaver, where it depends on sigsegv's catching them and resuming execution.... :evil:

Re: Basilisk II Android port - progress thread

Posted: Fri Jan 16, 2015 4:54 pm
by neozeed
well I shoehorned the CPU in my restricted fork of BasiliskII and it seems to be performing OK...

I guess i need something more of a system validaotr besides Sim city, Internet Explorer and softpc...

I tried to turn on virtual memory for the hell of it, but I dont think it does anything, on reboot its off again. Maybe there is something somewhere else turning it off.

I tried to step through the config process for MinGW (as I dont have cygwin installed), and yeah as I feared Basilisk II became more sheepshaver-ish ..

Code: Select all

checking whether __PAGEZERO can be Low Memory area 0x0000-0x2000... no
checking whether we can map Low Memory area 0x0000-0x2000... no
checking whether signal handlers need to be reinstalled... no
checking whether sigaction handlers need to be reinstalled... no
checking whether your system supports Mach exceptions... no
checking whether your system supports Windows exceptions... no
checking whether your system supports extended signal handlers via asm... no
checking whether your system supports extended signal handlers... no
checking whether we then have a subterfuge for your system... no
checking whether we can skip instruction in SIGSEGV handler... no
This kind of stuff is why the 64bit version of Sheep won't work anymore, and it's only a matter of time until apple kills the 32bit executables from doing the same thing. But that's a whole different rant for a different day.

It's late but I'll have to see how involved it is to turn on JIT for x86 at least to see if I can have a minimally invasive JIT.

Re: Basilisk II Android port - progress thread

Posted: Fri Jan 16, 2015 5:41 pm
by Lubomyr
neozeed,
I also tried to use MinGW toolchain (i686-pc-mingw32 under cygwin) for building BasiliskII but without success. Then i tried another toolchain i686-pc-cygwin and all builded successfully

Re: Basilisk II Android port - progress thread

Posted: Fri Jan 16, 2015 6:31 pm
by adespoton
Neozeed didn't have problems getting a proper compile -- the issue he has is with the JIT skipping instructions in the SIGSEGV handler and __PAGEZERO being hardcoded to address 0.

It's almost like we need to create a virtual machine to run these emulators inside -- one that abstracts the memory addressing and debug calls such that the emulators can function as expected, but be wrapped in a modern architecture that does things the safe way.

From a security standpoint, SheepShaver and this JIT core for BII are a nightmare. They do a partial or complete end-run around ASLR, separation of privilege and debug trapping, all important security features in today's computing world.

Re: Basilisk II Android port - progress thread

Posted: Fri Jan 16, 2015 7:02 pm
by neozeed
Ugh I started to look at aranym-1.0.2, and it looks like it's the same deal with the JIT... and Lubomyr transplanted the jit code not all of the cpu code from the looks of it.... which explains the missing cpummu.cpp file.. not that I care that much about the MMU, but more so want a more 'correct' and up to date 68040/68030 emulation....


It's a shame these jit's are so screwed up.

what is the alternative? libjit? but then im sure we'd have to re-write the whole 68000........... :roll:

Re: Basilisk II Android port - progress thread

Posted: Fri Jan 16, 2015 9:05 pm
by Cat_7
Perhaps Qemu's TCG? SheepShaver uses Qemu's old jit. But I have absolutely no idea how they converted from the old one to the new one.
http://www.slideshare.net/RampantJeff/q ... ranslation

Best,
Cat_7

Re: Basilisk II Android port - progress thread

Posted: Fri Jan 16, 2015 9:55 pm
by adespoton
Might be worth someone firing off an email to the qemu dev list -- knowing how they switched could help all the other projects using it to make the same shift.

Re: Basilisk II Android port - progress thread

Posted: Sat Jan 17, 2015 1:59 am
by neozeed
Cat_7 wrote:Perhaps Qemu's TCG? SheepShaver uses Qemu's old jit. But I have absolutely no idea how they converted from the old one to the new one.
http://www.slideshare.net/RampantJeff/q ... ranslation

Best,
Cat_7
The latest WinUAE uses Qemu for a PowerPC accelerator... That would probably be the best way to save sheep, although the way basilisk and sheep work is that they throw invalid opcodes into the mix that cause the underlying cpu emulator to crash which they catch and then do special stuff with... and those are some pretty tall shoulders to be standing on...

Re: Basilisk II Android port - progress thread

Posted: Sat Jan 17, 2015 3:31 am
by neozeed
adespoton wrote:Might be worth someone firing off an email to the qemu dev list -- knowing how they switched could help all the other projects using it to make the same shift.
This is probably the next best hope... Quadra 800 emulation via Qemu

https://gitorious.org/qemu-m68k

Re: Basilisk II Android port - progress thread

Posted: Tue Jan 20, 2015 12:24 pm
by uyjulian
neozeed wrote:
Cat_7 wrote:Perhaps Qemu's TCG? SheepShaver uses Qemu's old jit. But I have absolutely no idea how they converted from the old one to the new one.
http://www.slideshare.net/RampantJeff/q ... ranslation

Best,
Cat_7
The latest WinUAE uses Qemu for a PowerPC accelerator... That would probably be the best way to save sheep, although the way basilisk and sheep work is that they throw invalid opcodes into the mix that cause the underlying cpu emulator to crash which they catch and then do special stuff with... and those are some pretty tall shoulders to be standing on...
Here's the source code for the qemu-uae plugin: https://github.com/FrodeSolheim/qemu-uae
Hint: https://github.com/FrodeSolheim/qemu-ua ... master/uae
Compiling:

Code: Select all

git clone https://github.com/FrodeSolheim/qemu-uae.git;cd qemu-uae;git submodule init;git submodule update;./configure;make

Re: Basilisk II Android port - progress thread

Posted: Wed Sep 16, 2015 5:08 am
by Silver9990
Works pretty well on both my Nextbook8 HD (cm11) tablet & LG Volt phone.