by falemagn on 2004/4/4 16:12:33
Quote:
And the problem with AROS according to Fabios comments is it cannot run 68k binaries, that was never the projects intention,
No, wait, that's not what I said, I said that AROS' aim has never been
to run 68k binaries on other CPU's than 68k's, which is quite different...
-----------------------------------
seems I wasnt reading carefully enough,
whats the thinking behind this?
if AROS were to run a 68k binary such as SAS C 6.50 on an Intel machine,
what issue is it that you want to avoid?
Eyetech by using UAE endorse AmigaOS being run on any CPU provided an
official ROM is used,
Hyperion by using AROS code endorse open source reimplementations,
so combining these 2 endorsements we get that
UAE can be used on an open source reimplemented ROM?
-----------------------------------------
@KennyR
AGA? Why AGA? This is hardware dependent and has no future.
-----------------------------------------
really I meant the entire custom chipset, just for compatibility reasons,
interleaved bitmaps are a slow and obsolete concept,
new programs for a new OS shouldnt reference the chipset at all,
probably a good idea to read + write protect the chipset via MMU
for new programs to prevent the chipset being used,
-----------------------------------------------------------------------
@that_punk_guy
>Speculation on my part, since I'm no hardware/HAL guru, but no matter
>how fast you run the emulation,
>it's going to be held back by the architecture - addressing modes, registers, etc
> - that the emulated processor offers. And you can't change them, or you'n
>l break compatibility.
yes, but JIT emulation is pretty fast: Morphos people say theirs is 75% of
native speed,
really its only when you reach a slowdown of 400% that you should start worrying,
if you upgrade your computer to one which is 2 x as fast its quite a disappointment,
when its 8 x as fast then its impressive, IMO 4 x is the cut off point to be
impressed,
also you dont need that many registers, good compilers convert local variables
to registers on a many-to-many basis, you only need maybe 8 or even 4
general purpose registers,
in fact you could get very fast code without any registers due to the
fact that the currently executing functions stack slot will usually
entirely be in the cache, probably in the L1-cache,
the preoccupation with having lots of registers is a hangover from
the days when everyone coded in assembler,
also 3-address code eg "add d0,d1,d2" (d2 = d0 + d1 ) is also
of dubious merit, Motorola 68k uses 2-address code "add d0,d1" (d1=d1 + d0),
in fact 1-address code "add d0" (accumulator = accumulator + d0) is probably
just as good,
probably even 0-address code "add" (pop pop add push) is also just as fast,
one problem with 3-address code is that you end up with huge instructions
(eg 1 instruction = 32 bits: twice as big as typical 68k instructions),
with 0-address code you could fit 8 instructions in that space,
anyway the point I am making is that 68k's 2-address code with 8 to 16
registers is probably just as good and twice as small as PPC's 3-address code
with 32 registers: most of those 32 registers will be asleep most of the time,
example:
x = y * z + t ;
in 3 address code:
lea y,d2
load 0(d2),d0
lea z,d2
load 0(d2),d1
mul d0,d1,d1
lea t,d2
load 0(d2),d0
add d0,d1,d1
lea x,d2
store d1,0(d2)
(RISC code is like wearing a strait-jacket),
1 address version:
load y ; to accumulator
move d0 ; from accumulator
load z ; to accumulator
mul d0 ; accumulator = accumulator * d0
move d0
load t
add d0
store x
1 address code is actually much more in the spirit of the RISC concept,
Motorola 68k version:
move.l z,d1
muls.l y,d1
add.l t,d1
move.l d1,x
0 address code version:
push y
push z
mul
push t
add
pop x
:clean + simple,
the 1-address version certainly outdoes the 3-address version on all
counts: smaller + shorter + fewer instructions, fewer overall memory references,
the real gain of having eg 1-address code with eg 4 registers is
you end up with a huge reduction in chip circuitry
=> much smaller => much faster,
>Using AGA emulation in the way you describe is also... well, insane,
> quite frankly. Why toss the Amiga's established RTG system out of the window?
I agree, I'm not stopping you using the RTG system,
I am just thinking of the classic AGA machine as a bootstrap OS,
you can have all the modern stuff you want atop that bootstrap OS,
so eg you can and should have the RTG system,
doing everything via 68k means you eliminate the need for
open source + recompilation,
:it will save centuries of effort and eliminate truckloads of bloat!
open source always becomes very bloated
eg the general trend is for source code that exceeds 9meg compressed,
regardless of what it does, IMO a lot of it is
"tactical" bloat
manufacturing industry is totally closed source,
visit
http://ftp.gnu.org/gnu to see what open source really looks like,
now visit
http://www.aminet.net to see what closed source looks like,
which do you prefer?
I dont know about you but I only use open source stuff out of necessity,
I much prefer eg SAS C 650 to gcc, but some things can only be done via gcc,
gcc also has some really neat features eg it will convert c to assembler,
---------------------------------------------------
@Karlos
>UAE has to devote considerable CPU resources to emulate AGA at full speed
>(which is tragic considering how slow that definition full
>speed is in modern terms), the *sole* benefit of which is running
>various aga based programs.
but the AGA emulation will only happen if you make AGA calls,
so if you run a modern 68k program that makes no use of the custom chips
then that overhead vanishes,
>All serious amiga software of the last decade or so years has been RTG friendly.
I am not stopping you having RTG,
I am all for modern ways of doing things,
but whichever way you do it I think you need OS3.1 68k compatibility,
and you also want the market to grow. Probably also the Amiga OS has to
tear itself away from the central company and become a 3rd party OS,
all the really interesting developements have come from the 3rd party,
as far as I can see there is no disciplic continuity from the original
Amiga OS creators to Hyperion and they have delivered *nothing*,
ie I think they have no mandate
>Casting that aside, you have this notion of UAE as an "OS", running
>unhosted on your PC that gives transparent 680x0 emulation.
>
>I'm afraid it's already been done. Amithlon was pretty much just that.
>
>I could be wrong, but it still needs OS ROMs to work.
but Amithlon has been derailed by legal issues, also doesnt it need a
ROM to function?
I'm not against AROS reimplemented ROM to use with Amithlon,
same idea,
someone told me Amithlon itself makes use of UAE,
it would also be sensible to try and bring Amithlon to other CPUs such as PPC,
>A replacememnt ROM for Amithlon (and a general update of the whole thing
>wouldnt hurt) based on open source code would pretty much do the job
> you are asking, AGA emulation aside.
I am equally happy with this pathway, I dont know what is the issue
thats stopping Amithlon
>As for how useful it would prove to be, I can't say.
an emulator + a reimplemented ROM may be the only way for the
platform to continue,
IMO the only sensible path for OS4 would be to
use a 68k emulator + OS3.1 ROM binary for backwards compatibility,
you should be able to directly boot OS3.1 on an A1
after about 1 year since the OS4 project begun,
if reimplementing OS3.1 native is nowhere near complete after 1 year,
the project should be shelved and an emulated version worked on,
once a directly booting OS3.1 is available and for sale then
they can work on reimplementing it properly,
but you need to have some product out there and on the shelves,
and on peoples desks,
OS4 shouldnt even be thought about till OS3.1 is complete and
for sale: either emulated or "ported",
people complain about H & P but at least they delivered OS3.9
which I use every day,
Hyperion havent delivered anything at all,
they know how to grab the OS contract and never ever let go
but not how to deliver the product, not even a bad product,
--------------------------
@bloodline
From what I can see the biggest issue here is bootsrapping the Amiga
before the OS comes into play... if any Demos coders out there want to
have some fun again.. they could do worse than get AROS booting on the Amiga...
--------------------------
if they can get AROS directly booting from an A1 that will be a major
achievement,
will they also need to port gcc to that specific setup?
I would still like the ability to run my 68k programs,
maybe if they can port UAE to run above that version of AROS,
I dont know what the issues are in porting UAE,