Keep an eye out for an open source x86 emulator written in C++

by (no login)

Reinventing the wheel can be fun, but it is also time consuming.

I need some C++ code which can read x86 CPU/FPU instructions and use some variables to emulate the registers and flags. I know something like this must exist, but I'm having trouble finding it. I do have copies of the instruction sets, opcodes, etc. and am quite capable of writing something like this myself, but it would be a lot faster to incorporate code which already exists. It need not emulate ports/interrupts, just the processor.

The DOSBOX source might contain something like this, and there is also something called "bochs" which I'm looking into.

This is so I can implement CALL ABSOLUTE.

Any help would be appreciated,
Galleon

Posted on May 9, 2008, 4:06 PM
from IP address 122.104.46.15

Respond to this message   

Return to Index


Response TitleAuthor and Date
I think this is one you might like....;-). on May 9
 Thanks again MystikShadows! on May 9
  *It seems Open86 is very incomplete, I'll continue investigating on May 9
   You mean "It seems Open86 is very incomplete. I'll continue investigating."Grammer Police on May 10
    * You forgot an asteriskAsterisk Police on May 10
    * Grammar is spelled with an "ar" not an "er." No donuts for you!Chief of Police on May 10
...writing my own is more fun than I would have thought! on May 11
 Not bad at all Galleon.... on May 11
 This CALL ABSOLUTE QBASIC mouse routine now works in QB64! on May 14
  * Cool! Tell me when your company goes public. I want in on the IPO.Pete on May 14
   * Too much redundancy. Why not check for mouse once? on May 14
    *Not Galleon's... Author = TFM. Galleon is just stating it works in QB64.Pete on May 14
     Great! I guess Interrupt is next. Don't forget 21 for DOS files. on May 14
      * You forgot your asterisk. Since you've been good on parole, I'll let it slide this time.Asterisk Police on May 14
       ** You'ze is an assterisk on May 14
      The code uses interrupts from CALL ABSOLUTEqbguy on May 15
       Here's the INTERRUPT-USING-ABSOLUTE code I use if Galleon wants to test itqbguy on May 15
        Thanks for sharing that one qbguy... on May 16
       RE: Unless we only have interrupt 33 for mouse and all the other ones do nothing. on May 16
        just a quick note to say keep up the good workmennonite on May 16
         Thank you! (+RE: it'll be wonderful when it's open source) on May 16
          I'd be happy to pay for it...Pete on May 16
           Well you could say in the license something about maintaining QBASIC compatibilityqbguy on May 16
            Re: Well you could say in the license something about maintaining QBASIC compatibility on May 22
             You don't need no freaking Liscense! on May 23
              Lawsuits are strickly follow the money but open source makes it volnuerable to abuse. on May 23
               Making it open source has the exact advantage that you stated - contributions by othersrpgfan3233 on May 23
                Look at what happened to FB on May 23
               i address that (common) myth in something i posted recentlymennonite on May 23
                What trademark? There is no trademark... on May 23
                 at least offer a serious reply so i know what one looks likemennonite on May 23
                  My view on IP and open sourceroy on May 24
                 Cost of filing a trademarkqbguy on May 24
              * Ah, but you forget - FB borrows things from QB _AND_ VB, and it is open source! ;-)rpgfan3233 on May 23
               RPG is one of my favorite people to discuss topics with... on May 23
                * Hmm... You raise some good points that I can't possibly argue against. Great reasoning!rpgfan3233 on May 23
                you're wrong about who can help galleonmennonite on May 24
          * The C++ code is all in the qbx.cpp in the internal folder?qbguy on May 16
           Depending on what C++ code you're looking for, yes, it is.rpgfan3233 on May 23