unicorn/bindings/pascal
kj.xwings.l 038b4f3345
Removed hardcoded CP0C3_ULRI (#1098)
* activate CP0C3_ULRI for CONFIG3, mips

* updated with mips patches

* updated with mips patches

* remove hardcoded config3

* git ignore vscode

* fix spacing issue and turn on floating point

Backports most of commit 24f55a7973278f20f0de21b904851d99d4716263 from
unicorn. Ignores internal core modifications, as this would be
special-casing non-upstreamed behavior.
2019-08-08 20:08:57 -04:00
..
examples Pascal/Delphi binding 2019-02-28 16:36:56 -05:00
unicorn Removed hardcoded CP0C3_ULRI (#1098) 2019-08-08 20:08:57 -04:00
LICENSE Pascal/Delphi binding 2019-02-28 16:36:56 -05:00
README.md Pascal/Delphi binding 2019-02-28 16:36:56 -05:00

unicorn-engine-pascal

Pascal/Delphi language binding for the Unicorn emulator (GitHub).

Unicorn is a lightweight multi-platform, multi-architecture CPU emulator framework based on QEMU.

License

GPLv2

Compilers Compatibility

Free Pascal >= v3

  • Mac OS
  • Windows
  • Linux

Delphi

  • Windows

Features

  • Same API as the C core

    • with some workarounds for Pascals case insensitivity:

      uc_mem_write() -> uc_mem_write_(), uc_mem_read() -> uc_mem_read_()

    • and the missing feature passing variable number of arguments to functions (...):

      i solve it by using -> args : Array of Const; you can pass args inside [] like :

      uc_hook_add(uc, trace, UC_HOOK_INSN, @HookIn, nil, 1,0,[UC_X86_INS_IN];
      

      the main loader in Unicorn_dyn.pas , check X86 example for more info .

  • Multiplatform (Mac OS , Windows and Linux are tested)

Examples

  • X86 Emulate 16, 32, 64 Bit x86

Version History

  • 1.1
    • Add Delphi Compatibility [ Windows ]
  • 1.0
    • this is the first version it has all APIs of UNICORN v1.0.1

TODO

  • Add more Examples
  • Add Mac , Linux Support for Delphi