Welcome, Guest. Please login or register.

Author Topic: AMIGA Coldfire FAQ Version 1 - Non Technical  (Read 15403 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline jdiffend

  • Sr. Member
  • ****
  • Join Date: Apr 2002
  • Posts: 302
    • Show all replies
Re: AMIGA Coldfire FAQ Version 1 - Non Technical
« on: April 18, 2002, 10:05:58 PM »
Quote
How fast is 68K emulator running on top of ColdFire?
Usually emulator efficiency is only 10% / less.


FWIW, it is not an emulator like we are used to seeing.  It is an illegal instruction trap where only unsupported 68k instructions/address modes are emulated so most instructions execute at the rate of one per clock cycle.  V4e and especially V5 cores will execute more than one instruction per clock cycle.  

I built a table that shows which instructions are on what processors including all Coldfire cores.  With the 5407 or higher most instructions are supported by the core.
 

Offline jdiffend

  • Sr. Member
  • ****
  • Join Date: Apr 2002
  • Posts: 302
    • Show all replies
Re: AMIGA Coldfire FAQ Version 1 - Non Technical
« Reply #1 on: April 18, 2002, 11:25:03 PM »
Quote
Q ? Will I need new ROMs?
A ? I don?t see why you would, the system will think it has a true 68k CPU at its heart so you won?t need new ROMs and I?m betting a lot of your existing hardware will work also including the new PPC on a PCI card for the A4000.


I can tell you absolutely positively without a doubt  that you can't depend on the normal Amiga add on ROM method like you told me you planned to do.  I researched this before (lord knows I didn't want to rewrite the ROM) and found it wouldn't work.

I just verified my findings to be sure before saying anything.

Look at the Exec 1.2 dissasembly on Aminet.  The startup code that looks for the add on ROM executes an illegal Coldfire instruction before the jump to the new ROM.  

If you don't believe me check address FC00F4.  The very instruction that tests for the ROM isn't legal on any Coldfire cpu.

The existing ROM checks for an add on ROM like this:
FC00F4  cmp.w     #$1111,(A1)      ; If "1111" not found at F00000, then
FC00F8  bne.s     FC00FE            ;continue running below, else start
FC00FA  jmp       2(A1)           ; Jump to add on ROM

With portasm configured for the coldfire V4 this:
cmp.w #$1111,(A1)
translates to this:
   move.w    (a1),d0
   cmp.w     #0x1111,d0

I haven't decoded the 3.1 ROM but it is likely that it would test for an add on ROM in the same way.

At least some sort of patch to the existing ROM is needed and there are ways to do it and keep the existing ROM.

Did I mention that accessing the ROM through an accellerator port is slower than FLASH on the accellerator?

The solution I came up with was to make the standard Amiga ROM appear at a different address in memory so the initial FLASH startup code could copy it to flash, patch it and restart.  The patch would jump to the add on ROM code and skip the test completely.  I suggested this in July of last year. An alternative was to use a V4e part, copy the ROM to RAM, patch it there and run it from RAM.

Like I said, I spent a lot of time on this.
 

Offline jdiffend

  • Sr. Member
  • ****
  • Join Date: Apr 2002
  • Posts: 302
    • Show all replies
Re: AMIGA Coldfire FAQ Version 1 - Non Technical
« Reply #2 on: April 19, 2002, 11:27:57 AM »
Quote
Therefore it is possible to run AMIGA DE / AA on top of ColdFire CPU!


Based on the CF52XX I'd say yes but on top of uclinux only.
 

Offline jdiffend

  • Sr. Member
  • ****
  • Join Date: Apr 2002
  • Posts: 302
    • Show all replies
Re: AMIGA Coldfire FAQ Version 1 - Non Technical
« Reply #3 on: April 19, 2002, 12:50:24 PM »
Quote
Every year or so somone pops up with a Coldfire Accelerator that uses 4 Coldfires, and is super great etc.


The V4 core is the first one really capable of working and it hasn't been out that long.  Keep in mind hardware development requires a lot of know how and any decent design sofware is rediculously expensive.  

Quote
Everytime, it is ridiculed by people who know its virtually impossible.


Most of the people I've heard talk about it have done little if any research, don't have the proper training or background and are generally without a clue.  It is very possible... any chip prior to V4 would have been a nightmare to do it with.  The current project these guys are undertaking sounds feasable but they need to do some more homework before they get too far.

As for nothing ever happens... nobody is thrilled with working two jobs... one of which you make no money.

A project like this would take a couple months.  I've personally worked on an embedded system that was designed, built, and all software was written for it in just over 6 months.  But it took one EE and three Software Engineers to do it.  Hardware, case, powersupply, OS and GUI all from scratch.  The funny thing is that now that could be done with less people and in less time.  A Coldfire and DIMMS would replace over 75% of the chips in that system including a 68020 a DSP, ZIPs and I/O chips... and it would be faster.

My project requires protected memory, USB, and 10/100 ethernet... the first 4e coldfire part supposedly has this... but it's over a year late!  Without that part I really can't do what I want with the Coldfire so to me it's not worth building.  Now I'm looking for alternatives.