Welcome, Guest. Please login or register.
Amiga Kit Amiga Store Iridium Banner AMIStore App Store A1200/A600 4xIDE Interface

AuthorTopic: 68060.library update  (Read 3851 times)

0 Members and 1 Guest are viewing this topic.

Offline SpeedGeek

68060.library update
« on: March 22, 2019, 01:35:28 AM »
68060.library update

LICENSE:
Copyright by Carsten Schlote 1990-2016
This release and any subsequent adapted (or non-adapted)
release is subject to all terms and conditions of the original
CC-BY-NC-BA 4.0 license release in 2016. See
http://creativecommons.org/licenses/by-nc-sa/4.0/legalcode

INTRODUCTION:
This 40.35 version of 68060.library is an update of the last
40.343 version by Carsten Schlote. This is a really good
"Generic" 68060.library with a few useful updates.

Updates (by SpeedGeek):
- Disables the Store Load/Bypass for CPU Rev. 0,1 and 5
- Some Global mappings changed to Non-Global
- Enables $E00000 Extended ROM as Cache Writethrough
- Allocates only Fast RAM for moving the VBR
- Library init code now safely exits in a 68040 system

NOTES: It works very well with TurboMMU040+ and
FastCache040+! Please understand a "Generic" library does
NOT offer support for all the features of proprietary 3rd
party accelerator cards.

REQUIREMENTS:
- Amiga with 68060 CPU and FPU

DISCLAIMER (For updates):
Use at your own risk. No warranty expressed or implied, etc.

USAGE:
- Copy to LIBS:
- OS3.1 Setpatch loads the "Dummy" 68040.library first
- OS3.9 Setpatch directly loads the 68060.library

CREDITS: Thanks very much to Carsten Schlote (Danke Schon!)

HISTORY:
v40.35 - Update release of 40.343

Here is the link:

http://eab.abime.net/showthread.php?p=1312476
 
« Last Edit: April 11, 2019, 02:44:51 PM by SpeedGeek »
 
The following users thanked this post: F1Lupo

Offline giZmo350

Re: 68060.library update
« Reply #1 on: March 22, 2019, 02:56:59 AM »
If all I have to do is copy to Libs, I'll give a try! Thanks!   :)
A500: 2MB Chip, 8MB Fast, IndiECS, MiniMegi, IDE4ZorroII on Z-500, KS1.3/KS3.1, WB3.1&BWB
 
A2000HD: 2MB Chip, 128MB Fast, P5:Blizz 2060@50MHz, PCD-50B/4GBCF, XSurf100, RapidRoad, IndiECS, Matze RTG, MiniMegi, CD-RW, SunRize AD516, WB3.9
 
A1200: 2MB Chip, 64MB Fast, 4GBCF, GVP Typhoon 030 @40MHz w/FPU, Subway USB, EasyNet Ethernet, Indi AGA MKI, FastATA MK-IV, Internal Slim CD/DVD-RW, WB3.5

Surfing The Web With An AMIGA Is Fun Again!
 

Offline Dynamic_Computing

Re: 68060.library update
« Reply #2 on: April 02, 2019, 04:39:00 PM »
I have been using this for a few weeks on my 80 MHz '060 and AmigaOS 3.1.4, and I can say it seems to run more stable. I would guess about half as many system crashes, but I do push my system really hard.

Offline SpeedGeek

Re: 68060.library update
« Reply #3 on: April 11, 2019, 02:45:37 PM »
** NEWS UPDATE **

Changed requirements to 68060 CPU and FPU due to Mathesar's reported problem with LC060 compatibility.

Offline Antonis

Re: 68060.library update
« Reply #4 on: October 07, 2019, 01:02:16 PM »
Sorry for posting in this thread (not sure if there's another more appropriate or should I start a new one instead), but I'm a bit confused at the moment. As I understand by reading in these forums, not all 68060 library builds are equally compatible with all cards, so I thought of asking for your experiences: I'm about to receive from eBay a Blizzard Phase 5 68060 / 75Hz / 64MB (non-PPC) for my A1200 (which now has a 68030 card) and I should prepare my CF card accordingly. So, in order to avoid any screw ups:

Should I be looking to a specific 68060 lib build for this card ?
Do I only have to copy the lib file in LIBS: dir and reboot ? Is that the only installation step in order to take advantage of the card ?
Does Workbench version make any difference ? (the CF has OS 3.9 at the moment)

Thank you in advance.
Best regards,
/A
 

Offline utri007

Re: 68060.library update
« Reply #5 on: October 07, 2019, 01:59:52 PM »
Setpatch command loads support libraries, it should be new enough!! OS3.5 or 3.9 or 3.1.4 versions are OK.

Phase 5 libraries

http://phase5.a1k.org/

Thors MUlibraries

http://aminet.net/package/util/libs/MMULib
ACube Sam 440ep Flex 800mhz, 1gb ram and 240gb hd and OS4.1FE
A1200 Micronic tower, OS3.9, Apollo 060 66mhz, xPert Merlin, Delfina Lite and Micronic Scandy, 500Gb hd, 66mb ram, DVD-burner and WLAN.
A1200 desktop, OS3.9, Blizzard 060 66mhz, 66mb ram, Ide Fix Express with 160Gb HD and WLAN
A500 OS2.1, GVP+HD8 with 4mb ram, 1mb chip ram and 4gb HD
Commodore CDTV KS3.1, 1mb chip, 4mb fast ram and IDE HD
 
The following users thanked this post: Antonis

Offline Rotzloeffel

Re: 68060.library update
« Reply #6 on: October 07, 2019, 02:02:11 PM »
Should I be looking to a specific 68060 lib build for this card ?
Do I only have to copy the lib file in LIBS: dir and reboot ? Is that the only installation step in order to take advantage of the card ?
Does Workbench version make any difference ? (the CF has OS 3.9 at the moment)


You can install the MuTools from Aminet http://aminet.net/package/util/libs/MMULib this is all you Need and up to date...

or the original Libs from Phase 5 http://phase5.a1k.org/ If you have OS 3.9 with BoingBag2 installed, the 68040 dummy library is not necessary anymore...

you should use MMULib...... copying the 68060.library to libs is enough for booting

EDIT Ups... Utri007 was faster :)
Save Planet Earth! It is the only one in the galaxy with fresh and cold beer :laughing:
 
The following users thanked this post: Antonis

Offline Antonis

Re: 68060.library update
« Reply #7 on: October 07, 2019, 02:18:59 PM »
The Amiga community, you got to love it. Thank you all for the lightning fast replies.

MMULib it is, then. Time to revisit good ol' WinUAE and update the CF card according to your instructions.  :)

Cheers.

/A
 

Offline SpeedGeek

Re: 68060.library update
« Reply #8 on: February 20, 2020, 11:17:07 PM »
** 2ND NEWS UPDATE **
v40.36 released!

Many improvements:
- Fixed occasional crash bug in FPU dispatcher (Thanks to
Ralph Schmidt for the minor update)
- Added optimized Mult64u/s ISP patch to utility.library
functions (Much faster than exception trap code)
- Removed library versions of FPSP and ISP (Kernal versions
provide the emulation code)
- Removed lots of useless code (Debug and NOP stuff)
- Merged two library hunks into one
- Replaced Disable/Enable pairs with Forbid/Permit pairs
« Last Edit: February 20, 2020, 11:35:56 PM by SpeedGeek »
 
The following users thanked this post: F1Lupo

Offline SpeedGeek

Re: 68060.library update
« Reply #9 on: February 21, 2020, 07:13:57 PM »
** 3RD NEWS UPDATE **

v40.37 - released!

Monor update:
- Added code to skip Library init on EC/LC060 detection
- Added code to enable branch prediction error handler
« Last Edit: February 22, 2020, 04:26:46 AM by SpeedGeek »
 
The following users thanked this post: F1Lupo, Dynamic_Computing

Offline Dynamic_Computing

Re: 68060.library update
« Reply #10 on: February 23, 2020, 06:09:03 PM »
Just installed it on my 68060/80 Mhz A4000 - seems fairly stable so far. Thanks for all your har work keeping this updated!

Offline kolla

Re: 68060.library update
« Reply #11 on: February 23, 2020, 06:17:25 PM »
Just installed it on my 68060/80 Mhz A4000
I thought your choice was MuLibs? Thomas doesn’t approve this 68060.library, you know ... :)
B5D6A1D019D5D45BCC56F4782AC220D8B3E2A6CC
---
A3000/060CSPPC+CVPPC/128MB + 256MB BigRAM/Deneb USB
A4000/CS060/Mediator4000Di/Voodoo5/128MB
A1200/Blz1260/IndyAGA/192MB
A1200/Blz1260/64MB
A1200/Blz1230III/32MB
A1200/ACA1221
A600/V600v2/Subway USB
A600/Apollo630/32MB
CD32/SX32/32MB/Plipbox
CD32/TF328
A500/V500v2
A500/MTec520
CDTV
MiSTer, MiST, FleaFPGAs and original Minimig
Peg1, SAM460 and Mac minis with MorphOS
 

Offline Dynamic_Computing

Re: 68060.library update
« Reply #12 on: February 24, 2020, 07:10:54 PM »
I have used a few, Kolla. I was not aware that Thomas dislikes this one. I don't seem to have any additional issues with this version.
 

guest11527

  • Guest
Re: 68060.library update
« Reply #13 on: February 25, 2020, 05:57:56 AM »
I have used a few, Kolla. I was not aware that Thomas dislikes this one. I don't seem to have any additional issues with this version.
A common problem is that its CachePre/PostDMA() functions do not work properly - they need to translate logical to physical addresses and not just pass them through. Another typical problem is the exeception generation of floating point exceptions in case its target address is not mapped. In such a case, the 68060.library needs to generate an access error of the right address - namely the address of the EA in the code being emulated. The original mot sources have call-outs ("hooks") to get this work done, but most - if not all (but one) - 68060 "optimizations" simply drop these call-outs and then generate an exception that is coming from the wrong code path, namely within the 68060.library, and not within the user code.

Thus, while I haven't tested, I afraid that we have here a library that falls into the same pitfalls the P5 libs fell into, namely not handling exceptions properly. It is a case that does not typically happen, but in case we would have virtual memory, would fail miserably. The Mu-based libs have been carefully crafted to handle such cases correctly, thus do not generate exceptions by executing code itself, but creating artificial exceptions that (seem to) come from the user code, such that the Os layer can handle them correctly.
 

Offline SpeedGeek

Re: 68060.library update
« Reply #14 on: February 25, 2020, 01:47:53 PM »
A common problem is that its CachePre/PostDMA() functions do not work properly - they need to translate logical to physical addresses and not just pass them through. Another typical problem is the exeception generation of floating point exceptions in case its target address is not mapped. In such a case, the 68060.library needs to generate an access error of the right address - namely the address of the EA in the code being emulated. The original mot sources have call-outs ("hooks") to get this work done, but most - if not all (but one) - 68060 "optimizations" simply drop these call-outs and then generate an exception that is coming from the wrong code path, namely within the 68060.library, and not within the user code.

Thus, while I haven't tested, I afraid that we have here a library that falls into the same pitfalls the P5 libs fell into, namely not handling exceptions properly. It is a case that does not typically happen, but in case we would have virtual memory, would fail miserably. The Mu-based libs have been carefully crafted to handle such cases correctly, thus do not generate exceptions by executing code itself, but creating artificial exceptions that (seem to) come from the user code, such that the Os layer can handle them correctly.

Here we go again... ::)

This library, the original C= 68040.library (and ALL 3rd party libraries EXCEPT your mmu.library) don't support virtual memory. I assume that's one of the reasons (besides your own EGO) why you trolled against FastCache040+ when it was first released (even though the documentation clearly warned users about this).

What is interesting, is that since you already added the logical to physical address code to the mmu.library you failed to realize this simple test can determine the choice of using the dog slow CachePre/PostDMA() functions or the much faster functions.

So, far I've never received a single request to support virtual memory (Thanks to many smart users!), but I did quote it as one of the reasons why TurboMMU040+ doesn't support the mmu.library.  ;)