[Web] Suite101 - AROS: Native AmigaOS For Your PC | ANN.lu |
Posted on 24-Oct-2001 10:06 GMT by Teemu I. Yliselä | 5 comments View flat View list |
John Chandler's back with a Suite101 article on AROS.
|
|
Suite101 - AROS: Native AmigaOS For Your PC : Comment 1 of 5 | ANN.lu |
Posted by Dave on 24-Oct-2001 09:39 GMT | As usual a well written article by John, now if only there were "how it works" and other really technical articles written to the same standard..... |
|
Suite101 - AROS: Native AmigaOS For Your PC : Comment 2 of 5 | ANN.lu |
Posted by Loki on 24-Oct-2001 14:45 GMT | I have downloaded it and ran it on several desktops & laptops. No problems at all.
However, I feel that it could benifit with a JIT 68K emulator that functions simular to Amithlon (not UAE).
I believe that AmigaXL/Amithlon will rule the Amiga World very soon. |
|
Suite101 - AROS: Native AmigaOS For Your PC : Comment 3 of 5 | ANN.lu |
Posted by Fabio Alemagna on 24-Oct-2001 15:46 GMT | In reply to Comment 2 (Loki): Unfortunalely, due to endianess issues, is not easily possible a transparent AmigaOs 68k emulation on a little endian cpu, like any current x86.
Fabio Alemagna |
|
Suite101 - AROS: Native AmigaOS For Your PC : Comment 4 of 5 | ANN.lu |
Posted by koehler on 25-Oct-2001 02:55 GMT | That was an article?
Crap, sounds like someone was given 30 minutes to review the site and write up a one-pager.
Not even Q&A with the developers?
Lame. |
|
Suite101 - AROS: Native AmigaOS For Your PC : Comment 5 of 5 | ANN.lu |
Posted by Kjetil Hvalstrand on 26-Oct-2001 12:24 GMT | In reply to Comment 3 (Fabio Alemagna): Well I have posted it will not work some where,
For the fun of it can allways, say the deficit hear,
when you emulate an Amiga instruction as Move.w or move.b, move.l
you just add the function like this.
// copy from to. no problem
move_l( void *from_ptr, void *to_ptr)
{ *to_ptr*from_ptr; // This will work }
// if you do an move.l #30,$2000
move_stat_l(int num,void *ptr)
{
*ptrnum;
fix_long(ptr);
}
// if you do an move.l $2000,A0, the a call like
move_ptr_l(void *ptr,void *reg)
{
*reg*ptr;
fix_long(reg);
}
The bigest problem is not the issue of Little ending CPU, the problem is the memory map,
on an old Amiga you have 32 bit address space, this makes a tiny memory window,
compared with an CPU with 64 bits address space, 2GB RAM, so you most emulate the
Allocmem() and freemem(), and crate an memory table for 68k progs,
to make up for i686/ppc library's returning addresses you must redefine the 68k memory emulation table
so the memory out side the 32bits memory are redirected in side the emulated 32bits memory.
the only problem with this is you don't know now much data the pointer points to,
// so the routines most be some thing like this.
move_ptr_l(void *ptr,void *reg)
{
ptrtranslate_32a_to_64a(ptr);
*reg*ptr;
fix_long(reg);
}
// Amiga transparansy ex.
void *amiga_32bit_transp(int arg1,int arg2)
{
void *ret_address;
#ifdef INTEL
fix_long(arg1); // NOT USED WITH PPC
fix_long(arg2); // NOT USED WITH PPC
#endif
ret_addressAROS_func(arg1,arg2);
ret_addresstranslate_64a_to_32a( ret_address );
retrun ret_address;
}
As you can se all types of emulations will slow down youre system. |
|
Anonymous, there are 5 items in your selection |
|
- User Menu
-
- About ANN archives
- The ANN archives is powered by #AmigaZeux. It was updated daily (news last: 22-Oct-2004; comments last: 18-May-2005).
ANN.lu was created, previously owned and maintained by Christian Kemp, www.ckemp.com.
- Contribute
- Not possible at this time!
- Search ANN archives
- Advanced search
- Hosting
- ANN.lu was hosted by Dreamhost. Sign up through this link, mention "ckemp" as referrer and he will get a 10% commission on any account you purchase.
Please show your appreciation for any past, present and future work on ANN.lu by making a contribution via PayPal.
|