RealBoy is a Free, Fast, Yet Accurate, Game Boy/Game Boy Color
Emulator for Linux/Unix. It has both technical as well as educational
goals.
Technically, it aims for the following:
1) Accuracy. Perhaps the most important technical goal, as seen in
the best closed-sourced emulators, such as KiGB and BGB, and some
free emulators, such as Gambatte and MESS.
2) Performance. Show that it is possible to implement a very fast
emulator without sacrificing accuracy.
3) Feature-rich. Implement advanced features such as a flexible
internal debugger.
* Included Linux image works fine on NetBSD/amd64 6.99.23
Changelog:
New features
Addition of ports to Amiga OS 3 and OS 4.
Sound emulation.
Support for RAM sizes other than 4MB (512KB, 1MB, 2MB,
4MB, 8MB, 12MB & 16MB now supported).
ARM250 & ARM3 CPU emulation.
ArcEm clock set from host's clock, partial RTC support.
Extension ROM emulation, allowing support for the
following new features when emulation RISC OS:
HostFS - A RISC OS filesystem to allow use of a
directory on the Host Filing system as a virtual
hard drive.
Mouse scroll wheel support.
Extra video modes, up to 1024x768 in 16 colours and
800x600 in 256 colours.
Bug fixes/Improvements
Many performance tweaks and optimisations, resulting in
a 5-6 times performance gain on ARM hosts. A 600MHz
XScale can now achieve a level of performance roughly
equivalent to an 8MHz ARM2. Similar performance gains
can be seen on other low-power hosts.
Video emulation rewritten to provide accurate redraw
and VSync timing, down to the scanline level.
Video emulation now supports upscaling and aspect ratio
correction for rectangular pixel modes.
All hardware clocks/timers (IOC timers, video DMA, audio
DMA, etc.) now run in real time, ensuring one second
takes one second no matter how fast the host machine
is.
Source code tidied a bit to remove redundant code,
including support for emulation of 32bit processor modes
(there are other, much better emulators for that!).
Source code converted to use C99 number types to aid
portability.
Instruction prefetch now correctly emulated - ensures
correct operation with self-modifying code and some
forms of copy protection.
RISC OS version now 32bit compatible, and ARMv7-safe.
Also much more useable with modern machines/LCD monitors
as it no longer requires the host to be able to support
Archimedes screen modes.
Windows version updated to build under Visual Studio
2010 (including Express edition).
Unix/X11 version now supports X servers that don't
support XWarpPointer.
PDP-10 KL10B model emulator. KL10B model supports extended addressing.
Tap networking support is from http://www.falu.nl/~rhialto/klh-diffs2 .
This package is potentially built on i386, amd64, arm, alpha, sparc,
and powerpc platforms. But this package supports i386 and amd64 only now,
and only amd64 build is tested, due to lack of my test environments.
* Update EmuTOS to 0.9.1.
Changelog:
2013/04/15 - version 0.9.15 released
The main new feature of this release is the seamless mouse integration mode:
o Mouse input handling is improved a lot. Now ARAnyM has a seamless mouse
integration when new Clocky (2013/04/15) is loaded.
o There is no need to manually ungrab or grab the mouse.
o Also mouse grab on left button click now reacts on the first button
click everytime (previously only if you had window focus) and the
host and mouse cursor positions are synced.
o And if you ungrab the mouse intentionally then it's not automatically
grabbed when the host mouse pointer returns to ARAnyM window.
o At last, the annoying "resetting weird mouse packet" error is gone, too.
Bugs fixed:
o Native Features were missing proper memory overflow checks and bugs
in NatFeat drivers could kill the ARAnyM.
o NFVDI had a bug (a race condition) in resolution switching.
o build date of EmuTOS was decoded improperly
Raw simulavr-1.0.0 does not build. Some patches, and SUBST to
convert MACROS etc., are added reflecting git repository
(These will be unnecessary at next release, hopefully).
(Upstream)
Bump the version
simulavr-0.1.2.1 to
simulavr-1.0.0
(From manual-1.0.pdf)
What features are new:
- Run multiple AVR devices in one simulation. (only with interpreter
interfaces or special application linked against simulavr library)
Multiple cores can run where each has a different clock frequency.
- Connect multiple AVR core pins to other devices like LCD, LED and
others. (environment)
- Connect multiple AVR cores to multiple avr-gdb instances. (each on
its own socket/port number, but see first point for running multiple
avr cores)
- Write simulation scripts in Tcl/Tk or Python, other languages could
be added by simply adding swig scripts!
- Tracing the execution of the program, these traces support all
debugging information directly from the ELF-file.
- The traces run step by step for each device so you see all actions
in the multiple devices in time-correct order.
- Every interrupt call is visible.
- Interrupt statistics with latency, longest and shortest execution
time and some more.
- There is a simple text based UI interface to add LCD, switches, LEDs
or other components and can modify it during simulation, so there is
no longer a need to enter a pin value during execution. (Tcl/Tk
based)
- Execution timing should be nearly accurate, different access times
for internal RAM / external RAM / EEPROM and other hardware
components are simulated.
- A pseudo core hardware component is introduced to do "printf"
debugging. This "device" is connected to a normal named UNIX socket
so you do not have to waste a UART or other hardware in your test
environment. (How?)
- ELF-file loading is supported, no objcopy needed anymore.
- Execution speed is tuned a lot, most hardware simulations are now
only done if needed.
- External IO pins which are not ports are also available. (E.g. ADC7
and ADC8 on ATmega8 in TQFP package.)
- External I/O and some internal states of hardware units (link
prescaler counter and interrupt states) can be dumped ot into a VCD
trace to analyse I/O behaviour and timing. Or you can use it for
tests.
Block devices
* New device "nvme" provides a PCI device that implements the NVMe standard.
* Fix for a possible data loss on crashes with IDE disks (due to mishandling of FLUSH requests)
Device assignment
* Legacy PCI assignment supports CPU affinity for MSI interrupts.
USB
* The XHCI (USB 3.0) controller supports live migration.
PCI
* ACPI hotplug of devices behind a PCI bridge is supported.
ARM
* The 32-bit ARMv8 LDA/STL instructions for load-acquire/store-release are supported (only with -cpu any); the remainder of the new v8 instructions will follow in a future release.
* The vexpress-a9 and vexpress-a15 boards have experimental support for virtio devices via a virtio-mmio transport. Note that the virtio command lines used with x86 systems won't work as they will create PCI virtio devices; use the devices "virtio-blk-device", "virtio-net-device", etc instead. Note that this functionality may change in future releases.
* The -initrd option now accepts ramdisks with a U-Boot header.
* A model of the Calxeda ECX-2000 / Midway system is now supported ("midway").
PPC
* Mac OS X guests supported (10.2-10.4 for PPC, 10.4 for PPC64)
* pSeries guests support live migration and savevm.
s390x
* If the kernel supports it, virtio-ccw supports ioeventfd and vhost when running on KVM.
* The dump-guest-memory command is supported.
SPARC
* Sun4c and Sun4d architectures and related CPUs were not fully implemented and have been removed.
* 24-bit display mode works
x86
* Firmware can be exposed to the guest as a flash device (using -pflash) also when running on KVM.
* In addition to the "xenfv" machine type, which is kept for backwards compatibility, Xen can now use the pc machine type (including versioned machine types) using "-M pc -machine accel=xen". Note that using PV-on-HVM drivers requires "-M pc -machine accel=xen -device xen-platform".
* QEMU can expose the full set of ACPI tables to the guest: See Features/ACPITableGeneration
* Conroe, Penryn and Nehalem CPUs have had their CPUID values fixed
* "-M isapc" now works on KVM too.
* -pflash can be used with KVM too.
more...
pkgsrc changes:
- update HOMEPAGE and MASTER_SITES
Upstream changes:
Changes from 20130726:
X11 dependent part:
- fix build failure with GTK+ <2.18
Changes from 20120618:
X11 dependent part:
- assign F11 key to switch fullscreen and print menu during fullscreen