Welcome, Guest. Please login or register.

Author Topic: TeamAROS Bounty #23 AROS Kickstart Replacement ROM  (Read 11724 times)

Description:

0 Members and 2 Guests are viewing this topic.

Offline jdiffend

  • Sr. Member
  • ****
  • Join Date: Apr 2002
  • Posts: 302
    • Show all replies
Re: TeamAROS Bounty #23 AROS Kickstart Replacement ROM
« Reply #14 from previous page: January 04, 2005, 11:53:56 PM »
Quote

bloodline wrote:

What do you mean dreaming? It's prefectly feasable, and only really needs this bounty to be completed.


It may be feasable but more work needs done than this bounty requires.

The coldfire has some major differences in how some things in the supervisor mode work and it would require a lot more changes to the exec and boot code than just adding the instruction emulation code.
 

Offline jdiffend

  • Sr. Member
  • ****
  • Join Date: Apr 2002
  • Posts: 302
    • Show all replies
Re: TeamAROS Bounty #23 AROS Kickstart Replacement ROM
« Reply #15 on: January 05, 2005, 04:58:36 AM »
I should also point out that the Coldfire has built in hardware that must be set up or programmed so that it doesn't conflict with the Amiga Memory map.
 

Offline jdiffend

  • Sr. Member
  • ****
  • Join Date: Apr 2002
  • Posts: 302
    • Show all replies
Re: TeamAROS Bounty #23 AROS Kickstart Replacement ROM
« Reply #16 on: January 05, 2005, 06:51:41 PM »
Quote

whabang wrote:

Well, there's this wee little detail of actually designing a Coldfire-board, making a Coldfire-version of AROS, make it trap the non-supported instructions (which would be limited to non-MMU, and possibly non-FPU applications),  and then write proper hardware drivers for the board, and any clones. But yes, it's doable.


Actually, if you want a coldfire/AROS based computer you could buy one of the development systems with built in VGA graphics and/or PCI card slots.  They just need an AROS port, case and power.
http://www.futureelectronics.com/promos/coldfire/MCF547x/

Or, instead of designing the entire Coldfire board for existing Amiga's you could build an adapter that holds one of the Coldfire module boards.  Then you just need the logic between the coldfire and the Amiga connector, the rest already works and you just program it.  I thought about doing this.

As for the MMU/FPU stuff... anything that hits the MMU or FPU itself isn't going to work.  If programs use the math.library then a Coldfire math.library would do the trick.  There's also an MMU.library and stuff that uses it might also work with a new version of the lib.

Something to think about... this year Freescale *should* start sampling the V5 Coldfore core to select customers.   It should offer twice the performance of the current 4e core chips.  That *might* be worth preparing for.

Reality check for you people drooling over the coldfire ...
When I first started looking at a Coldfire Amiga, Motorola hadn't even introduced the MCF5307 but they did have the 4e core on their roadmap.  At the time it looked promising because PC's weren't nearly as fast as they are now.  Since then the roadmap has slipped by something like 4 years and in that time the gap has widened so much (I just built my parents a nice 2.4 GHz PC for Christmas for $230) that I don't see the point in it anymore.  I checked pricing on the new Coldfire CPUs in small quantities (less than 10000) and it's as much as I can buy an Athlon for.  And the Socket A motherboards start at about $25.  To print a small 2 or 4 layer board as an adaptor for a coldfire module board will cost at least 2 times that in small numbers and you still need the module!

AROS might make a great embedded OS for the Coldfire and it would be good for settop boxes or low end machines for third world countries.  But even a V5 core is predicted to run only 610 Dhrystone mips at 333 MHz.  A 2.4GHz CPU like my parents have offers 4644 Dhrystone mips!  Even when the coldfire CPU speed gets bumped to 800+MHz like one of their roadmaps displayed (that roadmap isn't on the Freescale site) it will probably only be around 1500 mips and that will be at least two years from now when multi-core AMD and Intel CPUs should be everywhere.  (Motorola did mention a multi-core Coldfire at one point but all discussion of it has since disappeared just like the 800+MHz)

AROS for UAE makes sense.  For a real world miggy it makes sense for working to improve AROS compatibility and providing a migration path.  For the Coldfire it makes sense for embedded/settop box use.   For a way to bring a late 80's/early 90's machine into the new millenium in combination with the Coldfire... it's going to fall way short.

*IF* Freescale were to introduce a V5 Core Coldfire at 800+ MHz with MORE THAN 2 CORES then you could think about it.  But with the Coldfire targeted at embedded systems I just don't see that anytime soon.  (I do expect to see a Coldfire CPU with 800+MHz and multiple cores... just not for a few years)
 

Offline jdiffend

  • Sr. Member
  • ****
  • Join Date: Apr 2002
  • Posts: 302
    • Show all replies
Re: TeamAROS Bounty #23 AROS Kickstart Replacement ROM
« Reply #17 on: January 05, 2005, 07:09:13 PM »
Quote

mdma wrote:

Why bother trapping the missing 68k instructions etc, when native Coldfire AROS would work faster, and then we could use UAE for everything else.

Exactly the same way as Native x86 AROS.


You still need the instruction traps if you are going to try to run Amiga apps on it since we can't recompile all of them to be Coldfire compatible.
 

Offline jdiffend

  • Sr. Member
  • ****
  • Join Date: Apr 2002
  • Posts: 302
    • Show all replies
Re: TeamAROS Bounty #23 AROS Kickstart Replacement ROM
« Reply #18 on: January 05, 2005, 08:40:29 PM »
Quote

MskoDestny wrote:
Quote

mdma wrote:
I meant that there is no need for traps if AROS is compiled natively for the Coldfire CPU and UAE is used for 68k programs.

Using UAE will be dog slow compared to traps, especially since I don't believe there is a 68K -> Coldfire dynarec for UAE at the moment so it will have to run through the interpretter.  UAE would still be useful for programs that are dependent on behaviors that you can't easily simulate on Coldfire using the trap approach.


I think the confusion comes from expectations raised by UAE running on PCs.  It may be fast on modern PC's but it won't be on a Coldfire.  Any app that can run without UAE will be many times faster.

UAE should only be used as a last resort on apps that don't run with the traps on a Coldfire CPU.  If you want to know how fast UAE will run on a Coldfire, try running it on a PC from 1996 or 1997.  I'd guess a 266MHz to 333MHz Pentium II should be pretty close to the same speed as a 4e Coldfire.  

It will be easier to write a dynarec for the coldfire since many of the instructions would stay as is or would require only a couple to duplicate and the register model is the same on the 68K and 4e core.
 

Offline jdiffend

  • Sr. Member
  • ****
  • Join Date: Apr 2002
  • Posts: 302
    • Show all replies
Re: TeamAROS Bounty #23 AROS Kickstart Replacement ROM
« Reply #19 on: January 05, 2005, 10:50:00 PM »
Thanks to some of the stuff on Aminet I should be able to support a boot device.  An AROS version of the driver will take time though.
 

Offline jdiffend

  • Sr. Member
  • ****
  • Join Date: Apr 2002
  • Posts: 302
    • Show all replies
Re: TeamAROS Bounty #23 AROS Kickstart Replacement ROM
« Reply #20 on: January 06, 2005, 02:06:57 AM »
Quote

mdma wrote:

2005 could well turn out to be "The Year of AROS" :-D

20 years after Amiga was first shown to the public too.


Don't jump to conclusions.  I'm just starting to look through everything, I haven't even tried to compile a single line of code yet and I've already found a lot of potential problems.  The scope of this project seems to grow in leaps and bounds.

 

Offline jdiffend

  • Sr. Member
  • ****
  • Join Date: Apr 2002
  • Posts: 302
    • Show all replies
Re: TeamAROS Bounty #23 AROS Kickstart Replacement ROM
« Reply #21 on: January 06, 2005, 03:11:10 AM »
The biggest problem I've found is that AROS was designed to be a hosted OS rather than a rommable OS.  At this point it makes more sense to make the Amiga AROS ROM more like the PC bios than the Amiga OS ROM.
 

Offline jdiffend

  • Sr. Member
  • ****
  • Join Date: Apr 2002
  • Posts: 302
    • Show all replies
Re: TeamAROS Bounty #23 AROS Kickstart Replacement ROM
« Reply #22 on: January 06, 2005, 05:23:45 PM »
Quote

bloodline wrote:

That's not quite true, great care has been taken to make sure that the AROS code rommable, in fact this requirement has (and still is) causing quite a few headaches :-D

I suggest you look at the x86 Native flavour as that has the AROS kernel loaded into RAM which is then protected and treated as ROM.

-Edit- Porting Openfirmware to the Amiga would be a brilliant and very popular idea though!!!


Rommable yes... but what size ROM and on what hardware?  You've been working without space limitations and initial hardware testing/setup issues at the lowest level.  You also operate on the assumption you have some sort of output device.

I suggest you look at the liberal use of kprintf (for starters) for error reporting when no device may be available from printing.

The messages you have in kprintf statements may be easier to follow than guru numbers but they suck ROM space and you can't assume you have hardware to display them when bootstrapping hardware from scratch.

PC motherboards now have LEDS that display different patterns as the PC goes through the startup and it beeps patterns to diagnose problems.
On the AmigaOS, it flashes the LED and displays different screen colors and uses guru numbers if possible (they can be found in memory if they aren't displayable).

Notice on these that only errors are reported... if everythings fine the OS just goes about it's business and you don't really notice.

What about if I want to use AROS for an MP3 player?  An embedded OS can't make assumptions about the availability of a display (let alone the size of it) or even a serial port for messages.  The error messages don't have a corresponding code.subcode where code is lib or device and subcode is section that can be used to flash an LED or be placed at a reserved address and they can't be turned off in the compile so they take up space even if you can't use them.  They aren't even stored in a packed byte or compressed form to save space.
 
My suggestion would be to change the messages to codes or change kprintfs to have text AND code and use a macro or template for kprintf so that you could select which to include at compile time.  And the kprintf routine could be adjusted accordingly to the host it works on.

At the very least the number of messages requires some sort of way to compress them conserve space.  Possibly storing them 4 bits / character.

If you want to build an AmigaOS 3.1 like ROM you have to design it that way from the start.  The AROS team didn't set the same design restrictions Amiga did and it shows.  Amiga Inc. origianally only had 256K for their ROM and that included a lot of stuff!  But they didn't waste it either.

 

Offline jdiffend

  • Sr. Member
  • ****
  • Join Date: Apr 2002
  • Posts: 302
    • Show all replies
Re: TeamAROS Bounty #23 AROS Kickstart Replacement ROM
« Reply #23 on: January 07, 2005, 04:36:02 PM »
Quote

mdma wrote:

Let's not beat about the bush then.

In your expert opinion, is it possible in a moderately short space of time (say 3 months?), to create a kickstart rom for UAE (modifying the UAE source if needed) that would boot AROS 68k from an ADF or HDF?

If the short answer is yes, then question number 2 would be:-

Are you willing to do it? :-D

IF the 68K compiler and linker doesn't cause issues in generating the ROM and AROS isn't filled with endian issues that is a reasonable timeline for someone with the time.

Am I willing to do it?  Tell you what, my time has a tendancy to come and go... a bit beyond by control.  So... what I'm going to do is work towards the goal.  I can't say I'll do everything but I will at least make sure any source I generate will be made available and I'll try to document anything I see that needs done.

Here is what I plan to do:
I'm going to work on the nasty low level bootstrap portion, the compiler/build issues for 68K, ROM file generation, display boot logo (I already have code somewhere that should make this easy and even a little cool), some hardware drivers and documentation.

All that is needed anyway and if I have time and things go smoothly I can just keep on working from there.

Once I make a little progress I'll make everything available to the AROS team.
 

Offline jdiffend

  • Sr. Member
  • ****
  • Join Date: Apr 2002
  • Posts: 302
    • Show all replies
Re: TeamAROS Bounty #23 AROS Kickstart Replacement ROM
« Reply #24 on: January 07, 2005, 04:46:05 PM »
Quote

Hattig wrote:
I think that this bounty should be able creating a replacement ROM image for Amiga emulators, so that they can be shipped legally without any requirement to 'source' Amiga Kickstart ROM images.


I agree... and over time as it's made to run more AmigaOS apps they really can't say AROS has no software available.  It would be nice if a few old developers would release AROS versions but I won't hold my breath.

Quote
That would give you 1MB to play about with, which might give the project some hope even considering the fact that it will be compiled C, and a pretty 16 colour logo with 'bounce' drop down effect (:p) will be an essential requirement! hah

Uh, would a fade in/out suffice for now?  That's a lot easier and I should still have the code.

Quote

Then Wanderer only needs to implement useful things, then later binary compatibility with classic 68k applications!

Still, regardless, good luck.

Binary compatibility is something people really need to discuss NOW before there are a bunch of programs that aren't.  There needs to be a plan, a design... something before it happens.
 

Offline jdiffend

  • Sr. Member
  • ****
  • Join Date: Apr 2002
  • Posts: 302
    • Show all replies
Re: TeamAROS Bounty #23 AROS Kickstart Replacement ROM
« Reply #25 on: January 07, 2005, 09:36:37 PM »
Quote

mdma wrote:
Quote
Uh, would a fade in/out suffice for now? That's a lot easier and I should still have the code.


No, we want a scaled bitmap rotating effect, coupled with double sinus scrollers and a chiptune! ;-)


I guess I could continually scroll the message "You could have had a bootable AROS ROM but NOOOOOoooo... you were too pickey.   Now you get nothing!" along the botton of the screen.   :-o

 :-D
 

Offline jdiffend

  • Sr. Member
  • ****
  • Join Date: Apr 2002
  • Posts: 302
    • Show all replies
Re: TeamAROS Bounty #23 AROS Kickstart Replacement ROM
« Reply #26 on: January 08, 2005, 05:45:50 AM »
Quote
mdma wrote:

:lol:

We could set up a bounty to get the intro done in 4k! :-P

With the Ocean Loader music too! ;-)


I'm not even sure the AROS Logo posted will fit in 4K!  LOL