18-Apr-2024 02:20 GMT.
UNDER CONSTRUCTION
Anonymous, there are 5 items in your selection
[Web] Suite101 - AROS: Native AmigaOS For Your PCANN.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.


AROS: Native AmigaOS For Your PC
Suite101 - AROS: Native AmigaOS For Your PC : Comment 1 of 5ANN.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 5ANN.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 5ANN.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 5ANN.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 5ANN.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
Back to Top