Amiga.org
Amiga News and Community Announcements => Amiga News and Community Announcements => Amiga Hardware News => Topic started by: Oli_hd on July 11, 2006, 11:08:42 AM
-
The prototype CF4000 that was to be shown at the AmiRevival has arrived!
This card is a CPU upgrade that lets the Amiga (3/4000d/T) use the V4 Coldfire made by Freescale. (Motorola) (http://www.freescale.com/webapp/sps/site/homepage.jsp?nodeId=0162468rH3YTLC)
The V4 Coldfire is available in speeds up to 220Mhz and has a build in SD-Ram controller supporting up to 512Mb of PC100 memory.
I have uploaded some pictures:
The whole board, (http://www.cdtv.org.uk/coldfire/CF4000/CF4000.jpg) showing the CPU pads, SD-Ram and Fastslot connectors and debug connectors.
The all important sexy photo. (http://www.cdtv.org.uk/coldfire/CF4000/CF4000-sweep.jpg) (And the real reason for the gold plate... My name is in gold!)
And a nice close up of the CPU area to finish up. (http://www.cdtv.org.uk/coldfire/CF4000/CF4000-CPU.jpg)
The card will be assembled in the next two weeks and then the job of testing it begins. :-)
This is the third ColdFusion prototype since the project was started way back in 2002, the last prototype was shown at the Benelux Amiga show.
More information can be found by joining the Yahoo group at groups.yahoo.com/group/amigacoldfire/ (http://groups.yahoo.com/group/Amigacoldfire/)
-
Yay ;)
Nice one Oli
-
WOOHOO!
good work!
-
The card will be assembled in the next two weeks and then the job of testing it begins.
This is the third ColdFusion prototype since the project was started way back in 2002
Well, be careful this one doesn't go up in a puff of smoke aswell... ;-)
I would suggest everyone to hold their horses for now. This is far from finished product.
-
Well done!
Dare I say the ColdFusion might beat the vapourware Dragon to market? :-)
-
Man, I want one NOW!!
-
Looks it have really clever and nice design. :-o
Hope it will works!
-
Well the Dragon is for the A1200 so technicaly their not competing products ;-)
Good to see more classic development!
-
a really nice/clean looking design, indeed!
Keep it up Oliver :-)
-
Ok, the board looks nice (although I preferred the blue colour of the 2003 prototype). But the hardware is the easy part. The difficulty is in getting AmigaOS and Amiga apps to run on Coldfire (the same thing which is causing Elbox's Dragon so many delays).
-
From here (Italy) is still blue! ;-)
-
I thought this project had been abandoned. Nice to see it's still going!
-
@ Lando: it looks plenty blue from where I'm sitting.
I remain dubious, not about Oli's ability to get this out to market,; but about the ability of Amiga software to run on it. There've been many discussion threads about Amga Coldfire cards which generally give the impression that it'd effectively have to emulate a proper 68k chip to run a large amount of software.
-
Why does a 68k cpu has to emulate a 68k cpu?? I have read that this is required for some fpu instructions only. Like when a 040/060 tries to run old software that uses the 688882.
-
@AmigaMance
Why does a 68k cpu has to emulate a 68k cpu?
Coldfire is not 68k CPU.
I have read that this is required for some fpu instructions only.
That's not the case.
Anyway, check out the thread about Elbox Dragon compatibility? (http://www.amiga.org/forums/showthread.php?t=22348), it has some discussion about the coldfire emulation issues. As you can see there isn't exactly full consensus about this matter, but as soon as (or if ever) some coldfire accelerator hits the market we will know for sure.
-
Coldfire is not 68k CPU.
From freescale webpage:
With its architectural relationship to the 68K Family, customers using 68K products should consider a standard ColdFire product as their next solution. Because the ColdFire processor instruction set is a subset of the 68K Family instruction set, existing 68K customers find that designing with ColdFire microprocessors is a smooth transition.
Sounds to me like a evolution of 68k CPU :-D
And about compatibility, again from freescale webpage:
You can find tools such as an automated 68K-to-ColdFire processor converter and an emulation library available
So, i think that you only need a library for compatibility not much more different of 040 and 060 accelerators in which you need a 68040.library to work
-
So, i think that you only need a library for compatibility not much more different of 040 and 060 accelerators in which you need a 68040.library to work
And not much more different of the 64 bit risc AMD chips emulating x86 cisc instructions
-
@Fransexy_
Sounds to me like a evolution of 68k CPU
Nope. It's completely new design, but it took the best aspects of m68k series (easy & logical asm programmability).
Keywords to look for: relationship, subset
It's no 68k CPU. Only later it added more m68k series compatibility, but it still is no m68k.
And about compatibility, again from freescale webpage:
You can find tools such as an automated 68K-to-ColdFire processor converter and an emulation library available
So, i think that you only need a library for compatibility not much more different of 040 and 060 accelerators in which you need a 68040.library to work
Wrong. This is automated *source-code* converter.
Emulation library allows you to run usermode code with performance hits (depends on the emulated insruction occurance rate).
And regardless, at supervisor level these CPUs are completely different. You must have full emulation or the board will not be able to run most games and demos.
Further, coldfire accelerator can't work with just something like 680x0.library. The system would never get to point where it could load the library from disk, the CPUs are too different. Basically the emulation would need to be available even before the system begins to execute the Kickstart ROM code.
-
So, i think that you only need a library for compatibility not much more different of 040 and 060 accelerators in which you need a 68040.library to work
And not much more different of the 64 bit risc AMD chips emulating x86 cisc instructions
Except that these AMD chips actually have full 32bit x86 emulation built-in, and that it is available at the moment the chip is powered up. As the x86 emulation is hardwired to the chip it doesn't involve any exceptions or performance loss. Even in 32bit x86 legacy mode these AMD chips kick serious behind.
Coldfire doesn't have such built-in emulation, and the software emulation involves slow exception traps.
-
Piru is right but I would like to hear what Oliver Hannaford-Day, the board designer, have to say about this.
-
Piru is right but I would like to hear what Oliver Hannaford-Day, the board designer, have to say about this.
You rang?
Piru is right, the Coldfire has hardware built in to trap none coldfire compatiable instructions, which it then passes to a software program (if running) which translates it in to a coldfire native version (Like what oxypatcher does for the FPU on 040/060 CPU's) and passes it back to the Coldfire which loads the new instruction inplace of the old one and then continues on with the main program, if it hits another unsupported instruction the process is repeated.
The convertion software is coldfire native and has to be running before an illegal instruction is read, which means it has to be loaded before the kickstart. (Or an AROS coldfire native kickstart needs making)
The last prototype had a flash chip on the board which was designed for this, I want to have a play with a few things so there is no flash chip on this boad, instead there is a large pin header with all the required signals so one can be added later.
It's no 68k CPU. Only later it added more m68k series compatibility, but it still is no m68k.
It is a member of the same family (Freescale just say 68K/Coldfire now) and the Coldfire CPU always had 68K instructions, but only the most common ones, later Coldfire revisions added more 68K instuctions but yes, its still not a drop in replacement, and wont ever be.
I have read that this is required for some fpu instructions only.
The FPU in the Coldfire is totally different from the 68K, Freescale dont class it as a floating point unit, just an Emac, which "does" do maths equations but is very different from a 68K FPU.
(There is a true FPU in the V4e though)
Back to the 68K issue, its basically a bite it and see. When the card is done I will have to run a lot of old and new 68K software through it, see how it reacts.
The CPU might get so bogged down emulating 68K instructions that it would be no faster than a 68060.
But even then if it worked well it would still get launced as the price is expected to be very low and the ability to add 512Meg of SD-Ram would still give it an edge. (And any Coldfire native program would run at full speed (3 times that of a 68060))
-
@Oli_hd
Indeed, as more and more m68k instructions work without emulation Coldfire gets more feasible. Personally I'm a bit pessimistic about this, but maybe it'll work just fine.
However, how are you going to handle supervisor mode? My understanding is that supervisor mode is completely different in Coldfire, and to emulate m68k supervisor fully you'd need to pretty much have some full blown emulation for it (build compatible stackframes, emulate supervisor instructions etc).
-
Back to the 68K issue, its basically a bite it and see.
Wouldn't it be easier to take the UAE sources and modify the 68k emulation to emulate the behaviour of the Coldfire to test compatibility and look for problems before doing it for real?
IMHO, it's a lot easier looking through the uae logfile and debugger than trying to figure out whats going on inside a real 68k during a coldstart (been there, done that, never sent out the T-shirts)
BTW, if you load in your 68k emulation/traps before the kickstart is run, how are you gonna stop the coldstart code from resetting all traps and exception vectors?..or would you add something to make it think it was a warm reset and not a coldboot?
BTW #2, Nice board , who did you get to make it for you?
-
or skip the 68k amiga emu/conversion stuff..and run the CF board w/linux & E-UAE on a A4k.. that would rock.
-
"Rock" at the speed of a naked A500........
-
the Coldfire has hardware built in to trap none coldfire compatiable instructions, which it then passes to a software program (if running) which translates it in to a coldfire native version
Why can't this translation be done with hardware? Wouldn't that be quicker? It would also eliminate the need for the translation software, which would mean the card would work from cold boot.
--
moto
-
Why can't this translation be done with hardware? Wouldn't that be quicker? It would also eliminate the need for the translation software, which would mean the card would work from cold boot.
Well it would need to be built into the CPU if it was in hardware.
I guess its cost more than anything, the Coldfire is such a cheap CPU and thats what its designed to be, adding the missing instructions would mean a bigger piece of silicon, which would add to the cost.
Its sad they stopped developing the 68K :(
-
or skip the 68k amiga emu/conversion stuff..and run the CF board w/linux & E-UAE on a A4k.. that would rock.
Actually thats why there isnt a flash chip on this prototype, I do want to give Linux a try.. and AROS if Im up to porting it. (Which at the moment Im not but its something I am working on)
-
linux and e-uae? then you might aswell get a pc :/
-
It's nice, but it's trully oldware.
-
linux and e-uae? then you might aswell get a pc :/
you're not using your thinking cap.
OS3.x is kinda old and boring.. imagine plugging in a CF card and running a up-to-date os on a A4k or A1200 thats just sitting there doing nothing. Well worth the money for a board that can do this.
Everyone is waiting on new PPC hardware, a new browser, new features and its just taking quite some time and nobody knows if it will ever happen. If this board works under Linux you'll have all that you need software wise.. next tough part would be porting a linux distro..
-
Actually thats why there isnt a flash chip on this prototype, I do want to give Linux a try.. and AROS if Im up to porting it. (Which at the moment Im not but its something I am working on)
And how do you plan on booting Linux without some sort of boot ROM, exactly? I'm pretty sure the Amiga's ROM won't work with a Coldfire CPU without some serious patching.
However, how are you going to handle supervisor mode? My understanding is that supervisor mode is completely different in Coldfire, and to emulate m68k supervisor fully you'd need to pretty much have some full blown emulation for it (build compatible stackframes, emulate supervisor instructions etc).
Doing supervisor mode emulation isn't really all that difficult. If you look at the source for Basilisk II, you'll see code for a partial supervisor mode emulation. Just enough to allow Mac OS to run in user mode though.
At one time I was thinking about doing a Mac emulator that would run as a virtual machine on the Amiga and use the MMU for memory re-mapping and to trap all hardware accesses so that it would be able to run Mac OS completely unpatched in an isolated environment. I started doing some work on the virtual machine, which included supervisor mode emulation, and it really wasn't all that difficult.
Unfortunately, I didn't get all that far on it before I lost interest.
The biggest problem with Coldfire is instructions that aren't trapped, yet behave differently than on the 68k.
On a 68k, you could monitor the incomming instruction stream in hardware and check for those instructions and generate an exception when they are encountered, but I'm not sure if the Coldfire has anything like the 68k's FC outputs that would allow you to determine if the CPU is fetching code or data. And you wouldn't be able to do this if you were using the Coldfire's built in memory controller anyway.
-
@TheMagicM
Well, I put on my thinking cap, but still can't really see what the difference in running Linux on an Amiga or a PC would be ?
If I were to run Linux, I would definitely get a fast PC which I could probably get for less than the price of one of those accelerators.
But don't get me wrong here, I applaud every effort on doing something with our classic Amigas, and even if it this would only support Linux I still think it's great that people are doing classic hardware stuff, even though I wouldn't be interested in it myself.
And the "porting AROS"-idea sounds interesting, I guess it could be somewhat binary-compatible with the missing 68k instructions-emulation done in software then?
-
Where is the "Free sex and beer" jumper? :lol:
Seriously, though: Awesome!
-
@fx:
let me put it this way.. A ODW Pegasos, while its a awesome machine, is $799. A A1 if one would want to purchase it probably cost the same or whatever (I dont know). If this board costs $300 or $400, plugs into your A1200 or A4k, capable of running Linux.. why even switch to a new system? You could use your existing Amiga, if you want retro games, load up E-UAE.
-
@TheMagicM
A ODW Pegasos, while its a awesome machine, is $799. A A1 if one would want to purchase it probably cost the same or whatever (I dont know). If this board costs $300 or $400, plugs into your A1200 or A4k
ODW is full system. Plain Pegasos II motherboard + G4 is cheaper. If you assume that someone has A1200 or A4000, I assume the same someone has PC tower, keyboard, mouse, memory, HDD etc. ;-)
why even switch to a new system?
Because:
a) The new system is a lot faster (no legacy hw bogging it down).
b) With ColdFusion E-UAE is too slow to reach even A500 speeds.
-
(Or an AROS coldfire native kickstart needs making)
Guess that's my que: ROM Phase I (http://thenostromo.com/teamaros2/?number=23) and ROM PhaseII (http://thenostromo.com/teamaros2/?number=24) both could use more $ and a developer. :devildance:
Dammy
TeamAROS (http://www.teamaros.org)
-
Can't the instructions be converted on the fly when loaded from disk instead all the time when the program is running ? Kinda like an LoadSeg () patch or something, there is already software that does this for the 060 IIRC (Cyberpatcher ? can't remember, never had an 060..).
It would be MUCH faster:)
-
Can't the instructions be converted on the fly when loaded from disk instead all the time when the program is running ? Kinda like an LoadSeg () patch or something
No, since you can't tell which part is code and which data. You'd end up corrupting some data in the process... bad.
there is already software that does this for the 060 IIRC (Cyberpatcher ? can't remember, never had an 060..).
Cyberpatcher doesn't do this. Nothing that wants to avoid random data corruption does this.
It would be MUCH faster:)
If it worked, but it can't.
-
Me likes! :-D
-
I think it is a great idea if you want to use some "basic" (for today) stuff. Mpeg1 (or even Mpeg2 with the appropriate player :P), Inet etc...
If you want to run "the super- duper- wow game of your life" or the "A500 reeeeeeeally old game" then its not for you :-D
That simple :-P
-
Hi there, cool that the project is still chugging along :-)
Got a question though about testing it ...
Would it be easier to drop in an eprom on the A4000 motherboard (replacing the existing Kickstart ROMs) with enough software on it to kick the Coldfire CPU to life, then have it boot whatever else is required for the OS from disk ?
Could even do something fancy like use the FLASH on board the CPU board and plumb it into the Kickstart sockets using a ribbon cable .. would allow flash updating then.
Either way it might give you more control over the startup of the board.
Just a thought, ignore me if it's already been thought of and discarded as crap :-)