13 February 2012, 14:55 | #1 |
old bearded fool
Join Date: Jan 2010
Location: Bangkok
Age: 57
Posts: 779
|
Ramblings about E-UAE with Amikit on 64bit Linux
I've been optimizing and tweaking my E-UAE Amiga emulator setup on Ubuntu 11.04 64bit (Linux) for gaming, also got the JIT compiler running by using the 32bit version of E-UAE which improves performance a lot, will get back to that later in this post. I thought it would be a good idea to share my findings with newcomers and perhaps get some feedback from other EAB members.
My approach was to use Amikit as a high-end Amiga and within that use WHDLoad to load the games in a compatible way on the selected 68020 CPU required for JIT operation. In my setup this gives a much better performance compared to booting the games (ADF floppy images) directly in E-UAE, not to mention the excellent compatibility and performance when loading games from hard drive using WHDLoad. The 64bit (amd64) version of E-UAE which can be installed directly from the Ubuntu repository does not support JIT option (Just In Time compiler), and that really makes Amikit a lot slower, so that's why I installed the 32bit version instead. I think this is the main reason WinUAE remains 32bit as well. In order to run 32bit programs under 64bit Ubuntu (or other Linux distributions) in general you need ia32-libs installed, which can be installed like this: Code:
sudo apt-get install ia32-libs The E-UAE x86 32bit (i586) binaries can be found at the author Richard Drummond's website here (scroll down). There will probably be some GTK warnings when loading E-UAE (the GUI) before it finds the 32bit libs, just ignore those, it will not affect functionality. You can find Amikit for download here, and check this excellent guide for the Linux installation. I kind of like tweaking the E-UAE config file manually (default name: .e-uaerc), but also find it frustrating at times, especially when you realize not all the stuff is implemented. Here is my config: Code:
config_description=UAE default configuration config_hardware=false config_host=false config_version=0.8.29 unix.rom_path=~/ unix.floppy_path=~/ unix.hardfile_path=~/ unix.savestate_path=~/ unix.cpu_idle=0 x86.use_tsc=yes sdl.map_raw_keys=true sdl.use_gl=false alsa.device=default alsa.verbose=false use_gui=no use_debugger=false kickstart_rom_file=/foo/kick.rom kickstart_ext_rom_file= kickstart_key_file= flash_file= cart_file= kickshifter=false floppy0= floppy0type=0 floppy1= floppy1type=0 floppy2= floppy2type=-1 floppy3= floppy3type=-1 nr_floppies=2 floppy_speed=100 parallel_on_demand=false serial_on_demand=false serial_hardware_ctsrts=true serial_direct=false scsi=true scsi_device=/dev/cdrom sound_output=exact sound_bits=16 sound_channels=stereo sound_stereo_separation=7 sound_stereo_mixing_delay=0 sound_frequency=44100 sound_interpol=none sound_adjust=0 sound_volume=0 sound_latency=100 comp_trustbyte=indirect comp_trustword=indirect comp_trustlong=indirect comp_trustnaddr=indirect comp_nf=true comp_constjump=true comp_oldsegv=false comp_flushmode=soft compforcesettings=true compfpu=true cachesize=16384 joyport0=mouse joyport1=joy0 bsdsocket_emu=true synchronize_clock=no maprom=0x0 gfx_framerate=1 gfx_width=720 gfx_height=568 gfx_width_windowed=720 gfx_height_windowed=568 gfx_width_fullscreen=800 gfx_height_fullscreen=600 gfx_refreshrate=0 gfx_vsync=false gfx_lores=false gfx_linemode=double gfx_correct_aspect=false gfx_fullscreen_amiga=false gfx_fullscreen_picasso=false gfx_center_horizontal=none gfx_center_vertical=none gfx_colour_mode=8bit immediate_blits=true ntsc=false hide_cursor=true show_leds=false keyboard_leds=numlock:none,capslock:none,scrolllock:none chipset=aga collision_level=playfields fastmem_size=8 a3000mem_size=0 z3mem_size=128 bogomem_size=4 gfxcard_size=32 chipmem_size=4 cpu_speed=max cpu_type=68020/68881 cpu_compatible=false cpu_cycle_exact=false blitter_cycle_exact=false log_illegal_mem=false catweasel_io=0x0 kbd_lang=se state_replay=no state_replay_rate=250 state_replay_buffer=20971520 filesystem2=rw,dh0:AmiKit:/foo/AmiKit/AmiKit,0 filesystem=rw,AmiKit:/foo/AmiKit/AmiKit input.config=1 input.joymouse_speed_analog=20 input.joymouse_speed_digital=10 input.joymouse_deadzone=33 input.joystick_deadzone=33 input.mouse_speed=100 input.autofire=10 input.1.joystick.0.disabled=0 input.1.joystick.0.axis.0=JOY2_HORIZ.0 input.1.joystick.0.axis.1=JOY2_VERT.0 input.1.joystick.0.button.0=KEY_NP_MUL.0 input.1.joystick.0.button.1=SPC_TOGGLEFULLSCREEN.0 input.1.joystick.0.button.2=SPC_ENTERGUI.0 input.1.joystick.0.button.3=KEY_F10.0 input.1.joystick.0.button.4=JOY2_UP.0 input.1.joystick.0.button.5=JOY2_RIGHT.0 input.1.joystick.0.button.6=JOY2_DOWN.0 input.1.joystick.0.button.7=JOY2_LEFT.0 input.1.joystick.0.button.8=KEY_SHIFT_LEFT.0 input.1.joystick.0.button.9=KEY_SHIFT_RIGHT.0 input.1.joystick.0.button.10=KEY_K.0 input.1.joystick.0.button.11=KEY_B.0 input.1.joystick.0.button.14=JOY2_FIRE_BUTTON.0 input.1.joystick.0.button.13=JOY2_2ND_BUTTON.0 input.1.joystick.0.button.12=JOY2_3RD_BUTTON.0 input.1.joystick.0.button.15=KEY_SPACE.0 input.1.joystick.0.button.16=SPC_PAUSE.0 input.1.mouse.0.disabled=0 input.1.mouse.0.axis.0=MOUSE1_HORIZ.0 input.1.mouse.0.axis.1=MOUSE1_VERT.0 input.1.mouse.0.axis.2=MOUSE1_WHEEL.0 input.1.mouse.0.button.0=JOY1_FIRE_BUTTON.0 input.1.mouse.0.button.1=JOY1_2ND_BUTTON.0 input.1.mouse.0.button.2=JOY1_3RD_BUTTON.0 Code:
jstest --normal /dev/input/js0 If you don't have the 'jstest' command, it can be installed like this: Code:
sudo apt-get install joystick input.1.joystick.0.button.16=SPC_PAUSE.0 The example above from my config maps E-UAE emulator pause function to PS3 controller button 16 in input config 1. Don't forget you need to set which input config you want to enable, this line from the config file does that: Code:
input.config=1 Basically what I mapped to the PS3 controller besides d-pad and three fire buttons (some games like Turrican 2 support more than one fire button) was WHDLoad exit keys mapped (F10 and num pad *) to [select] and [start], then emulation pause for the round Playstation logo button, emulator fullscreen toggle for the left analog thumb push down switch and some regular keyboard keys (spacebar is useful) mapped to the shoulder buttons. When testing new config file settings I recommend launching 'uae' in a terminal like this example: Code:
uae -f .myconfig_test Using Amikit makes it very easy to add new games, just copy the files directly from the Linux side using your favorite tools to the Amikit 'Games' directory, no need to do any of that within the Amiga emulation. I highly recommend Killergorilla's WHD packs for instant game action. I hope this helps someone. Feel free to reply with suggestions or if you have any questions. Last edited by modrobert; 13 February 2012 at 16:52. |
14 February 2012, 08:25 | #2 |
Junior Member
Join Date: Sep 2001
Location: No(R)Way
Age: 42
Posts: 3,237
|
Really great guide !! Im going to use this when I install Linux 64bit here aswell .. !! THX
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
FS-UAE 2.0.1 on Win7-64bit | elowan | support.FS-UAE | 9 | 17 January 2013 11:44 |
G-FS-UAE (GUI/Frontend for Linux FS-UAE) | Speedvicio | support.FS-UAE | 12 | 05 November 2012 20:14 |
IPF In LInUx UAE | Muzer | support.OtherUAE | 6 | 22 October 2009 19:46 |
E-UAE on Linux :) | digit01 | New to Emulation or Amiga scene | 23 | 05 May 2009 14:39 |
WinUAE vs Linux UAE? | kckelleher | support.WinUAE | 0 | 04 May 2002 23:29 |
|
|