[comp.sys.amiga] 8088->68000 code conversion

GJose@pco-multics.hbi.honeywell.com (04/05/89)

Can anyone help me locate a program to convert MSDOS 8088 code to amiga
68000 code. I have an application written on an MSDOS machine that I would
like to directly port to my amiga with a minimum of effort.
Thanks in advance,
Graham Jose

denbeste@bbn.com (Steven Den Beste) (04/05/89)

GJose writes:
> Can anyone help me locate a program to convers MSDOS 8088 code to
> amiga 68000 code? I have an application written on an MSDOS machine that
> I would like to directly port to my amiga with a minimum of effort.

My regrets. What you want doesn't exist. It isn't just a problem translating
the assembly language (though that is bad enough - at the very least each 8088
instruction would translate to several 68000 instructions, and even this isn't
easy) but the MSDOS system calls which would have to be translated into
AmigaDOS system calls.

The MSDOS operating system environment just isn't anything like the AmigaDOS
operating system environment.

doug@xdos.UUCP (Doug Merritt) (04/07/89)

In article <38280@bbn.COM> denbeste@BBN.COM (Steven Den Beste) writes:
>GJose writes:
>> Can anyone help me locate a program to convers MSDOS 8088 code to
>> amiga 68000 code? I have an application written on an MSDOS machine that
>> I would like to directly port to my amiga with a minimum of effort.
>
>My regrets. What you want doesn't exist. It isn't just a problem translating
>the assembly language (though that is bad enough - at the very least each 8088
>instruction would translate to several 68000 instructions, and even this isn't
>easy) but the MSDOS system calls which would have to be translated into
>AmigaDOS system calls.

That's all very true. I thought this would be a good time to mention,
however, that my company does *exactly* this for 68020 Unix systems.
That is, we have software which translates MSDOS 8086 executables into
Unix 68020 code, without source code, despite the difference in the
"operating system environment".

We aren't currently considering targeting the Amiga because the market
for such translations isn't as appealing as for Unix systems (I think)

But technically it could be done...We'd just need to fiddle with the
code generator a bit (avoid 68020-only instructions), and rewrite our
runtime library. A few man months.

BTW the main motivation is that this translation is *far* faster than
software emulation. Know how slow Transformer is? Whereas our translations
are close to the speed of natively compiled code.

I've been off the net for almost a year, and I just got a net feed
set up here today, so I just had to post something...
	Doug
-- 
Doug Merritt				Member, Crusaders for a Better Tomorrow
{sun!pyramid,apple}!xdos!doug		Professional Wildeyed Visionary

scott@applix.UUCP (Scott Evernden) (04/07/89)

In article <38280@bbn.COM> denbeste@BBN.COM (Steven Den Beste) writes:
>GJose writes:
>> Can anyone help me locate a program to convers MSDOS 8088 code to
>> amiga 68000 code? I have an application written on an MSDOS machine that
>> I would like to directly port to my amiga with a minimum of effort.
>
>My regrets. What you want doesn't exist.

Someone will correct my memory on this-

The XDOS product/technology from Hunter Systems (?) is supposed to do this.
As I recall, they will convert an MSDOS program to 680x0/unix in some number
of weeks for a charge.  I think Sun and others (HP?) are going to offer this.

I can imagine how this might be done- it doesn't seem impossible.

-scott

ugkamins@sunybcs.uucp (John Kaminski) (04/10/89)

In article <12316@louie.udel.EDU> GJose@pco-multics.hbi.honeywell.com writes:
>Can anyone help me locate a program to convert MSDOS 8088 code to amiga
>68000 code. I have an application written on an MSDOS machine that I would
>like to directly port to my amiga with a minimum of effort.
>Thanks in advance,
>Graham Jose

 R U kidding???? There is a totally different scheme for doing almost every-
thing on an Amiga.  For a small example, printing a single character on an
MS-DOS machine involves loading AL with the character, AH with the DOS
function number, and doing an INT (simulate hardware interrupt) instruction.
On an Amiga, it involves sending a message to the console handler requesting
that it display a character.  This is a whole lot more than a trivial
"Well, mov ax,bx is a lot like move d1,d0 ..."  It would be a nightmare to
convert all these semantic differences.  How about using Transformer? 8^))
Whoever did that completely (or nearly so) simulated an IBM PC (right down
to running MS-/PC-DOS itself!)