Welcome, Guest. Please login or register.

Author Topic: Looking for a 68060 with FPU & MMU  (Read 10012 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline NorthWay

  • Full Member
  • ***
  • Join Date: Jun 2003
  • Posts: 209
    • Show all replies
Re: Looking for a 68060 with FPU & MMU
« on: August 14, 2014, 12:38:52 AM »
Quote from: SpeedGeek;770846
2 separate 040 and 060 exec.library's needed

Why can't you use a common library for both?
 

Offline NorthWay

  • Full Member
  • ***
  • Join Date: Jun 2003
  • Posts: 209
    • Show all replies
Re: Looking for a 68060 with FPU & MMU
« Reply #1 on: August 15, 2014, 03:29:37 PM »
Quote from: SpeedGeek;770958
Motorola made significant changes with each new generation of 68K CPU

I know. I patched my own Exec years ago to properly detect the 060, fix its status, and set the flags for it.

So I didn't really see the need for having more than one version.
 

Offline NorthWay

  • Full Member
  • ***
  • Join Date: Jun 2003
  • Posts: 209
    • Show all replies
Re: Looking for a 68060 with FPU & MMU
« Reply #2 on: August 16, 2014, 08:11:23 PM »
Quote from: SpeedGeek;771008
What version of exec is your patch based on?

The original 3.1 of course. I was in a friendly race with Piru to come up with fixes and features for it. I don't think he incorporated my subroutine call twists, and I'm also a bit of a purist so I changed many macro and local calls to use the APIs.

Apart from the 060 stuff I think Piru has all the goodies you can wish for.

Ah, I found the code - nearly the last thing before the fpu testing (just 2 more instructions before it)

********
**
** Manually turn off MMU! Needs real mmu...
**
********
        moveq   #0,d1
        movec   d1,TC

        ;
        ; Do the 68060 test - PCR register does not exist on other CPUs
        ;
        bset    #AFB_68060,d0   ; guess at 060
cs_Test060
        movec   PCR,d1          ; flunks if 040 and clears the 060 bit
cs_Test060done
        btst    #AFB_68060,d0
        beq     cs_Not040

        and.l   #2,d1
        cmp.w   #2,d1
        beq     cs_Not040

        FNOP
        movec   d1,PCR          ; clear some odd bit

cs_Not040