Basiliskii (apple Mac Emulator) Updated


EvilDragon

Administrator
Staff member
Joined
Mar 4, 2003
Messages
29,986
Age
46
Location
Ingolstadt
The gp2x-Version of Christian Bauers Apple Mac Emulator BasiliskII has been updated today.

Picture%20003.jpg


Unfortunately, I have no idea what's new :/

Download: BasiliskII
Download: BasiliksII Sourcecode
 
You can have more RAM for the emulated mac cause its using the upper 32M for this.
It also has prefs for starting tv
(put 'TV true') in .prefs files
the X key is mapped to shift
I also changed the makefile to compile with the open2x gcc4.1.1
 
I added 320x240 "native" mode and mouse acceleration. I was going to release a new version after adding key bindings. And you have added MMU hack, which is totally cool.

I can update it later today if you all want...Or you can wait for the other features I have planned:

Key Bindings
Settings Frontend
Virtual Keyboard
Volume Control Emulation.
 
Sim City 2000 runs well, too. Its one of the few games which tolerates my 320x240 mode hack.

But I can't even release a preview tonight, I got home later than I thought I would. And I'll be AFK for 4 days starting on the 3rd.

You can play Oregon Trail 1 on MESS. I think it has some kind of keyboard support (bindings?).
 
What it needs is someone like zottd to do something with the dynarec/jit compiler
 
Wasn't a Mac II 640 x 480? That would run perfect on my skateboard handheld, Blah :p
 
Blah said:
Actually all it needs is Cyclone. But that's over my head.
cyclone notaz,reesy used picodrive; Franxis,Slaanesh used in mame
fame critical used in uae4allgp2x
can we get them interested in BasiliskII?
 
Last edited by a moderator:
Blah said:
Actually all it needs is Cyclone. But that's over my head.
At least have a look at it Blah. I think you need to modify basilisk_glue.cpp in uae_cpu folder
and use the cyclone files in mame gp2x 3.7 sources.zip http://www.gp2x.de/cgi-bin/cfiles.cgi?0,0,0,0,46,1057.

cyclone.txt file from PicoDrive_0963src.rar http://www.gp2x.de/cgi-bin/cfiles.cgi?0,0,0,0,46,1802 gives more information on how to use the cyclone core. But if you use the files from mame, you probably can ignore the instructions to make cyclone.o since you could probably just use cyclone.s directly from mame sources
Good luck
 
Last edited by a moderator:
seems to be more stable if the mmuhack.o is replaced with a more recent one from mame or picodrive
 
just uploaded BasiliskII again
gave the mac 320x240,720x480,720x576 modes (removed 1024x768 modes and above)
Problems
1) TV out shows up on half the TV screen only
2) screen corruption
3) memory corruption
4) network not really working
5) segmentation fault on shutdown / restart
I would appreciate any help in debugging this.
 
I took a look at Cyclone long before I mentioned it. There is too much difference in interface to rework basilisk_glue.cpp, you would have to rewrite it and probably some things higher up the chain. I looked also at the FAME C core and it was almost as bad.

You should make the .s file yourself (its not hard), because there are certain options that make a difference to code generation (ARM) and ultimately interpretation (68k). Also of note is that Cyclone is a 68000 emulator, many Macs used the 68020 and up to and including the 68060, these are not supported.

It is also really confusing looking at the CPU emulation core because there are no less than 5 ways to run any given opcode (C, X86 ASM, X86 ASM JIT, PPC ASM).

The current CPU emulation isn't *that* slow, either. It runs about 3 times the speed of a Mac Classic.

Hmm...I don't seem to be getting as much problems with my build. I also didn't have to remove any screen modes to add the 320x240. I will take a look at your version, compare them, and release soon.
 
Blah said:
I took a look at Cyclone long before I mentioned it. There is too much difference in interface to rework basilisk_glue.cpp, you would have to rewrite it and probably some things higher up the chain. I looked also at the FAME C core and it was almost as bad.

You should make the .s file yourself (its not hard), because there are certain options that make a difference to code generation (ARM) and ultimately interpretation (68k). Also of note is that Cyclone is a 68000 emulator, many Macs used the 68020 and up to and including the 68060, these are not supported.

It is also really confusing looking at the CPU emulation core because there are no less than 5 ways to run any given opcode (C, X86 ASM, X86 ASM JIT, PPC ASM).

The current CPU emulation isn't *that* slow, either. It runs about 3 times the speed of a Mac Classic.

Hmm...I don't seem to be getting as much problems with my build. I also didn't have to remove any screen modes to add the 320x240. I will take a look at your version, compare them, and release soon.
Thanks, I really appreciate the work you've done on this.
I agree with you that the current CPU emulation is quite good. Especially since some software depend on 68040 and fpu. Its just that the jit compiler works so much faster on x86.
I didn't have to remove any modes either(just had to change somethings in video_sdl.cpp, I just removed the ones above 800x600 cause I thought they were not useful. It would be nice if you could make the mac switch to tv when 720x480 or 720x576 is selected.
What is your setting for TCP/IP for network to work?
I think the screen/memory corruption is related to my changes to use the upper memory.
 
Last edited by a moderator:
Well I really don't think the network is all that useful. For now I'm just using the dummy files for serial and network.

I might however be able to solve the network problem by setting ld_library_path and including a gLibC with the program. Even though we are statically compiling, there is a network function that must be present in the dynamic gLibC that is in the path. I forget which function it is.

I'll look into how to do the MMU hack properly to allow for the video ram to be used. I don't have that much time to work on this but I'll see what I can do.
 
Blah said:
Well I really don't think the network is all that useful. For now I'm just using the dummy files for serial and network.

I might however be able to solve the network problem by setting ld_library_path and including a gLibC with the program. Even though we are statically compiling, there is a network function that must be present in the dynamic gLibC that is in the path. I forget which function it is.

I'll look into how to do the MMU hack properly to allow for the video ram to be used. I don't have that much time to work on this but I'll see what I can do.
my settings for network are as follows
in prefs file
ether slirp

on GP2X
usb0 Link encap:Ethernet HWaddr E6:B9:76:9E:62:F3
inet addr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:257 errors:0 dropped:0 overruns:0 frame:0
TX packets:42 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:20632 (20.1 Kb) TX bytes:2863 (2.7 Kb)

on Mac
TCP/IP is
IP address 192.168.1.3
Subnet mask 192.168.1.2
Router address 192.168.1.2
Name server addr ...
 
Last edited by a moderator:
Back
Top