Basilisk II Android port - progress thread

About BasiliskII, a 68k Mac emulator for Windows, MacOSX, and Linux that can run System 7.x through MacOS 8.1.

Moderators: Cat_7, Ronald P. Regensburg

kikyoulinux
Tinkerer
Posts: 92
Joined: Sun Sep 28, 2014 11:53 am

Re: Basilisk II Android port - progress thread

Post 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..."
User avatar
24bit
Forum All-Star
Posts: 1424
Joined: Wed Nov 11, 2009 5:47 pm
Location: Germany

Re: Basilisk II Android port - progress thread

Post 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.
Lubomyr
Student Driver
Posts: 13
Joined: Tue Dec 02, 2014 8:19 pm

Re: Basilisk II Android port - progress thread

Post 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
Lubomyr
Student Driver
Posts: 13
Joined: Tue Dec 02, 2014 8:19 pm

Re: Basilisk II Android port - progress thread

Post 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')
Lubomyr
Student Driver
Posts: 13
Joined: Tue Dec 02, 2014 8:19 pm

Re: Basilisk II Android port - progress thread

Post 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
User avatar
24bit
Forum All-Star
Posts: 1424
Joined: Wed Nov 11, 2009 5:47 pm
Location: Germany

Re: Basilisk II Android port - progress thread

Post 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
kikyoulinux
Tinkerer
Posts: 92
Joined: Sun Sep 28, 2014 11:53 am

Re: Basilisk II Android port - progress thread

Post by kikyoulinux »

OK, it now works. Thanks!
Image

Image
User avatar
adespoton
Forum All-Star
Posts: 4208
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: Basilisk II Android port - progress thread

Post by adespoton »

How do you expose the command and alt keys in the Android port? Curious, as I don't own an Android device.
Lubomyr
Student Driver
Posts: 13
Joined: Tue Dec 02, 2014 8:19 pm

Re: Basilisk II Android port - progress thread

Post 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.
neozeed
Apple Corer
Posts: 293
Joined: Sun Aug 25, 2013 3:25 am
Location: Hong Kong

Re: Basilisk II Android port - progress thread

Post 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!
don't do today what you can put off until tomorrow.
Lubomyr
Student Driver
Posts: 13
Joined: Tue Dec 02, 2014 8:19 pm

Re: Basilisk II Android port - progress thread

Post 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/
Lubomyr
Student Driver
Posts: 13
Joined: Tue Dec 02, 2014 8:19 pm

Re: Basilisk II Android port - progress thread

Post 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.
Last edited by Lubomyr on Thu Jan 15, 2015 9:09 pm, edited 1 time in total.
Lubomyr
Student Driver
Posts: 13
Joined: Tue Dec 02, 2014 8:19 pm

Re: Basilisk II Android port - progress thread

Post 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
neozeed
Apple Corer
Posts: 293
Joined: Sun Aug 25, 2013 3:25 am
Location: Hong Kong

Re: Basilisk II Android port - progress thread

Post 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! ...
Last edited by neozeed on Fri Jan 16, 2015 1:46 am, edited 1 time in total.
don't do today what you can put off until tomorrow.
neozeed
Apple Corer
Posts: 293
Joined: Sun Aug 25, 2013 3:25 am
Location: Hong Kong

Re: Basilisk II Android port - progress thread

Post 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:
don't do today what you can put off until tomorrow.
neozeed
Apple Corer
Posts: 293
Joined: Sun Aug 25, 2013 3:25 am
Location: Hong Kong

Re: Basilisk II Android port - progress thread

Post 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.
don't do today what you can put off until tomorrow.
Lubomyr
Student Driver
Posts: 13
Joined: Tue Dec 02, 2014 8:19 pm

Re: Basilisk II Android port - progress thread

Post 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
User avatar
adespoton
Forum All-Star
Posts: 4208
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: Basilisk II Android port - progress thread

Post 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.
neozeed
Apple Corer
Posts: 293
Joined: Sun Aug 25, 2013 3:25 am
Location: Hong Kong

Re: Basilisk II Android port - progress thread

Post 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:
don't do today what you can put off until tomorrow.
User avatar
Cat_7
Expert User
Posts: 6121
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: Basilisk II Android port - progress thread

Post 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
User avatar
adespoton
Forum All-Star
Posts: 4208
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: Basilisk II Android port - progress thread

Post 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.
neozeed
Apple Corer
Posts: 293
Joined: Sun Aug 25, 2013 3:25 am
Location: Hong Kong

Re: Basilisk II Android port - progress thread

Post 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...
don't do today what you can put off until tomorrow.
neozeed
Apple Corer
Posts: 293
Joined: Sun Aug 25, 2013 3:25 am
Location: Hong Kong

Re: Basilisk II Android port - progress thread

Post 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
don't do today what you can put off until tomorrow.
uyjulian
Apple Corer
Posts: 244
Joined: Fri Aug 27, 2010 1:02 am

Re: Basilisk II Android port - progress thread

Post 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
Silver9990
Inquisitive Elf
Posts: 25
Joined: Mon Jun 13, 2005 8:47 am

Re: Basilisk II Android port - progress thread

Post by Silver9990 »

Works pretty well on both my Nextbook8 HD (cm11) tablet & LG Volt phone.
Post Reply