Skip to content
forked from smulrine/uae4all

Amiga 500 emulator for Miyoo - Bittboy / PocketGO / V90 ...

Notifications You must be signed in to change notification settings

Apaczer/uae4all

 
 

Repository files navigation

UAE4ALL

UAE4All is a "Lite" Amiga Emulator. It is based on E-UAE core and it can utilize FAME for Motorola 68000 microprocessor emulation. It emulates Commodore Amiga 500 hardware with 1 MB Chip RAM, OCS and up to 4 floppy drive, utilizes Cyclone emulator of Motorola 68000 microprocessor for ARM hardware. It emulates most Commodore Amiga 500 hardware.

UAE4ALL for MiyooCFW

Revamped version of UAE4ALL for MiyooCFW, supported devices: Bittboy, PocketGo, Powkiddy V90 / Q90 / Q20 etc. This build is based of a port to GCW0 made by zear & Nebuleon (with smurline and goldmojo changes for other platforms).

Stock emulator for 1.3.3 MiyooCFW was based (possibly) of upstream by zear (https://github.com/zear/uae4all). Initial (stock) port made by @jamesofarrell, compiled with FAME core (no src available).

This revision replaces FAME m68k emulation library with UAE core. Major advantages would be wider game compatibility, however some games may produce fps drawback due to UAE being less optimized.

Changelog:

UAE4ALL rev. 1.1

  • the "Status bar" option is now visible in main menu and uae4all.cfg file ( STATUS_BAR 0 or -1)
  • added hotkeys to increase/decrease "Throttle" (SELECT+X/Y)

UAE4ALL rev. 1.0

  • load DF0 as first arg. parameter (you can load ROM file directly from your console's frontend)
  • show/hide status bar option (editable through *.cfg or in emu's GUI)
  • disabled splash screen by default (faster init load- show/hide status bar option (editable through *.cfg or in emu's GUI)
  • disabled splash screen by default (faster init load speed)
  • semi-darkmode for all notifications due to above commit (unintentional, but I like it!)
  • fixed A/B button mapping for V90/Q90 while in menu screen (to be cohesive with gmenu2x/SM).
  • frame throttling fine tuning now works on "auto" frameskip mode
  • lib7z savestate compression method (will not work with jamesofarrell's stock version)
  • compatibility increase (revert from FAME m68k library to UAE core, may introduce slight performance drawback) speed)

Compiling instructions

  1. Set up your environment with current MiyooCFW toolchain (preferably in Debian 9 distro)
  2. Copy this repo & compile
  • binary:
git clone https://github.com/Apaczer/uae4all
cd uae4all
make clean
make -j$(nproc)
  • OR distribution IPK package:
make -j$(nproc) gm2xpkg-ipk

NOTE: Use CROSS_COMPILE="" for general UNIX like build

PGO instructions :

All builds (from release section) have Profile-Guided Optimization applied, which gives approx 5-10% performance boost.

  • set PROFILE = YES in Makefile
  • compile
  • run the emulator for a few minutes on your device
  • dump the *.gcda files dropped in /mnt/profile and copy them back into your /src folder in a repo
  • set PROFILE = APPLY
  • compile & enjoy optimized build!

While gathering profiling data on target platform, use the app how normally you would and look for parts that might introduce perf. challenge. Possibly try to run emulator in one take and exit normally through GUI's menu to correctly collect information.

Compatibility list

There are some drawbacks when FAME is not used:

  • Zool II - less optimized
  • Jim Power in Mutant Planet - less optimized
  • Xenon 2: Megablast - crashes after sprite collision with bomb

Below titles will play better on UAE core comparable to FAME:

  • Superfrog - no video jittery on "auto" frameskip
  • Alien Breed - no video jittery on "auto" frameskip
  • James Pond - boot ups and doesn't crash (CR PDX by TIC)
  • The Great Giana Sisters - boot ups and doesn't crash
  • Nicky II - boot ups and doesn't crash
  • The Addams Family Mansion Mayhem - no sprite freezes during gameplay
  • Moonstone: A Hard Days Knight - passes loading screen when disk B is being read on DF1 drive

UAE4ALL emulation related issues:

  • James Pond - player's sprite can pass through walls
  • Moonstone: A Hard Days Knight - will play only with first (DF0) and second (DF1) disk mounted simultaneously

FAQ

Q) What's the difference between stock UAE4ALL (from 1.3.3 MiyooCFW)?
A: This revision is more compatible and have additional user-friendly features described in changelog. The previous src was also unavailable, so this port is a chance for other people to work of it and modify this emulator to their needs.

Q) How to set it up in console?
A: Place binary file in /mnt/emus/uae4all/ and make new link to it if you don't have one already. You will also need to have there /data folder with necessary assets.

Q) Does this emu need any BIOS file?
A: Yes, the emulator will recognize it by placing kick.rom (rename your kickstarter BIOS to match) in /mnt/.uae4all/ location

About

Amiga 500 emulator for Miyoo - Bittboy / PocketGO / V90 ...

Resources

Stars

Watchers

Forks

Languages

  • Assembly 59.5%
  • C++ 29.1%
  • C 11.3%
  • Other 0.1%