![]() |
![]() |
#1 |
Moderator
Join Date: Dec 2010
Location: Wisconsin USA
Age: 59
Posts: 730
|
![]()
68LC060.library update
INTRODUCTION: This 40.3 version of 68LC060.library is partly based on the 40.37 version of Carsten Schlote's library. It has all of the FPU support code removed which makes it much smaller and also LC060 specific. However, it is still very much a "Generic" library. Updates (by SpeedGeek): 40.1 - Removed all FPU support code - Removed Store/Load Bypass fix code (not needed for LC060) - Removed EC/LC060 detection code - Replaced library code with simpler code (Thanks to Peter K.) - Changed revision number to one digit (to separate LC versions) NOTES: A3000 and A4000 owners may need to replace the mathieeesingbas.library (FPU version) found in the Kickstart ROMs. 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 68LC060 CPU - Non_FPU versions of math#?.libraries 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 (BB2) directly loads the 68060.library - OS3.1.4+ utility.library is no longer patched (no other support or testing is provided) HISTORY: v40.1 - First release (see Updates) v40.2 - CPU Performance improved with Superscalar mode finally working! v40.3 - Minor changes - Added code to skip Mult64u/s patch for v45+ utility.library - Changed longword function table to word function table - Removed Allocpatchport code from MMU setup code Last edited by SpeedGeek; 04 December 2022 at 20:55. |
![]() |
![]() |
#2 | |
Registered User
Join Date: Apr 2005
Location: digital hell, Germany, after 1984, but worse
Posts: 3,237
|
Quote:
Be careful, I've never seen a 060 CPU or touched a 060.library in my life! ![]() But thanks a lot for your hard work, even if I always use a 020 in WinUAE. Last edited by SpeedGeek; 11 January 2023 at 20:00. Reason: update |
|
![]() |
![]() |
#3 | |
Moderator
Join Date: Dec 2010
Location: Wisconsin USA
Age: 59
Posts: 730
|
Quote:
![]() EDIT: Devpac doesn't like white spaces. So I finally got the DC.W to assemble. Last edited by SpeedGeek; 11 January 2023 at 20:05. Reason: update |
|
![]() |
![]() |
#4 |
Registered User
![]() Join Date: Dec 2019
Location: brno/czechia
Posts: 1
|
Hi Guys
I'm looking for help and i guess that this is the right place. Short story first: I built a few A3660 CPU cards .... they work ok on A4000 with fullscale CPU .... But the prices and availability of these have gone to the ridiculous realm, so i bought a few LC versions ... they are working and tested..... and here we go. 3.1.4 rom and OS - red software failure after boot, with different CPU libs the system starts, but except sysspeed, everything crashes. Sysspeed reports 68040 on 41 mhz. 3.1 rom and os .... the same +- After a week of finding answers on net i'm on the verge of throwing the miggy out of the window as it's just mess of completely different advices. So i found this post - and i hope i'll get a bit further. the questions: 1 mathieeesingbas.library nonfpu - can i download it somewhere or do i have to go the long way to extract it from A600 ROM ?? 2 is there any way how to inject custom rom (from file on HDD)using the MAPROM function on the A3660 3 is there any way how to switch this library by software after boot ??? I found that Loadmodule can do it, but it's for os 3.5 and 3.9 only - would it work on 3.1 and 3.1.4 ? 4 Non_FPU versions of math#?.libraries - are these on WB 1.3 or 2.0 or any older OS version floppies or they are dwnldable somewhere ??? Hmm ... that's all i can think of after a few days of descent to Amigasoftmadness, so once again ...HELP ![]() -> SpeedGeek - deep respect for your work and knowledge mate ..... |
![]() |
![]() |
#5 |
Registered User
![]() Join Date: Dec 2005
Location: Toronto
Posts: 178
|
|
![]() |
![]() |
#6 | ||
Moderator
Join Date: Dec 2010
Location: Wisconsin USA
Age: 59
Posts: 730
|
Apparently, some of the Terriblefire people have some issues with this library:
Quote:
BTW, this library is the smallest (9 KB) 68060.library currently available (libraries with emulation code are typically very big). Quote:
- Added optimized Mult64u/s ISP patch to utility.library functions (Much faster than exception trap code) Last edited by SpeedGeek; 01 September 2020 at 15:02. |
||
![]() |
![]() |
#7 |
Moderator
Join Date: Dec 2010
Location: Wisconsin USA
Age: 59
Posts: 730
|
** NEWS UPDATE **
v40.2 released! - CPU Performance improved with Superscalar mode (finally) working now! |
![]() |
![]() |
#8 | ||
Moderator
Join Date: Dec 2010
Location: Wisconsin USA
Age: 59
Posts: 730
|
Once again, the most ignorant of the Terriblefire group have some issues with this library:
![]() Quote:
Stock A500, A600, A1000, A2000, CDTV, A1200 and CD32... and how did Commodore do this? They provided a diverse choice of Math Libraries! ... and why did Commodore do this? Floating point emulation performance runs at only a fraction of performance of the Hardware FPU and with lower precision too! But it get's Much Worse when you add the exception trap overhead and useless code to emulate FPU control instructions on top of the already slow emulation code! Now regarding the FPU management code (From the 060 manual): For instance, a system using the MC68EC060 or MC68LC060 has no use for the floating point related modules. Now, the very obvious reason for this is that the FPSP is in fact FPU dependent code! Finally, regarding "Pointless" - there is quite a good list of missing features from various TF accelerator cards which could be used to characterize them as "Pointless" but I really don't care to stoop to that level. Quote:
Some features not available with MMULib: - Small single library with reduced memory usage and faster loading time. - Support for significant MMU performance optimizing tools. - Support for 1MB and 2MB Kickstart ROM remapping tools - Simple set up and installation instructions On the other hand, I'm very pleased that Vampire team (without even realizing it) created the perfect complimentary tool (FEMU) for MMULib: SLOW as hell FPU emulation + SLOW as hell virtual memory + SLOW as hell CacheDMA API - FAST as heaven 8K page mode support. Thanks guys! ![]() Last edited by SpeedGeek; 15 September 2020 at 15:14. |
||
![]() |
![]() |
#9 | |||
Registered User
Join Date: Jan 2019
Location: Germany
Posts: 2,515
|
Quote:
Quote:
Quote:
As in "they are no longer available" with your code? As in "you are wrong?" As in "use the installer, or place two libraries to LIBS:"? Where is the complicated part? I probably should not ship the installer because it confuses people... FEMU is not a FPU emulation, it cannot. It is just a "last resort" software for those cores that do not come with a (reduced) FPU and software that can get away with a partial FPU implementation. The math libraries of the system do not offer many services of a real FPU, and as such, cannot replace one if you need one. But there are cores that come with a FPU, with double precision only. In how far its emulation is complete I do not know, but your statement as such is not correct. |
|||
![]() |
![]() |
#10 | ||||
Moderator
Join Date: Dec 2010
Location: Wisconsin USA
Age: 59
Posts: 730
|
Quote:
Quote:
Quote:
If You = Terriblefire guys then you are correct and you appear to concur on some of the points. Quote:
I don't expect FEMU has to be 100% complete (or bug free) to qualify as an FPU emulator. Nevertheless, the Terriblefire guys are using it as such with your MMULib so I would suggest you take up the issue with them. Danke! |
||||
![]() |
![]() |
#11 | ||||||
Registered User
Join Date: Jan 2019
Location: Germany
Posts: 2,515
|
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Then again, there are too many authors that simply do not know better, "let's use the FPU because it is 0.5seconds faster on my system" for purposes for which it would really not make a difference at all, just by being lazy, without knowing that this may exclude parts of their potential user base. My advice: Stick to the libraries. Unless you really really have to, as in "numerical stability", "speed" or "IEEE-aware processing". I guess none of that is really important enough on the Amiga to justify an FPU, but many authors just do not care. So it is a compatibility hack that apparently works "well enough". As such, it is a hacky "best attempt" solution. I see more responsibility here at the software authors than the hardware or firmware vendors. Clearly, they have to provide some kind of workaround for lazy software, given that full CPUs are hard to accquire and getting expensive. So, where exactly is now the problem? I don't see one. |
||||||
![]() |
![]() |
#12 | |||
Moderator
Join Date: Dec 2010
Location: Wisconsin USA
Age: 59
Posts: 730
|
Quote:
No, it doesn't work for all systems and it was in fact the very first problem Mathesar encountered on this thread: http://eab.abime.net/showthread.php?t=96904 Quote:
Quote:
I thought you had to put three libs into LIBS: (unless there was special non-virtual memory version I am not aware of). I see no reason to repeat (time and time again) explanations why your MMULib needs Logical to Physical address translation code and all the other libraries don't need it. Regarding what's good enough for customers, again you should take this matter up with your Terriblefire customers. That's the real problem here. |
|||
![]() |
![]() |
#13 | ||||||
Registered User
Join Date: Jan 2019
Location: Germany
Posts: 2,515
|
Quote:
Quote:
Quote:
Quote:
There are reasons why complete solutions are more complex than simple ad hoc solutions. Don't hit the MMU directly if the mmu.library is in place. Don't hit the MMU directly if any other CPU library controlling its table is in use, such as the P5 CPU libraries. Use its interface.For the former, its interface is documented, the latter is a closed interface. There are even example programs out there, including sources, you can use. If you touch the MMU under the feet of another library, for examplle the mmu.library, or also the P5 libraries which may also modify its own MMU tables, you may get undesired side effects if the code does not find the tables where it expects them or in the state it excepts them. Quote:
Quote:
Huh? Did I miss something? These are not "my customers". I am not affilated with them in any particular way. |
||||||
![]() |
![]() |
#14 | |||||
Moderator
Join Date: Dec 2010
Location: Wisconsin USA
Age: 59
Posts: 730
|
Quote:
Quote:
Quote:
Quote:
Quote:
"Customers" was your choice of words not mine. Since, I am not aware of any Vampire MMULib customers, Terriblefire MMULib customers was the only remaining choice. If you don't want to consider them as customers, perhaps you could consider them as "Cases" or "Models"? Last edited by SpeedGeek; 30 October 2020 at 21:34. |
|||||
![]() |
![]() |
#15 |
Registered User
Join Date: Mar 2007
Location: Stasin/Poland
Posts: 42
|
Does this library also support 68EC060, or EC 060s are not supported?
|
![]() |
![]() |
#16 |
Moderator
Join Date: Dec 2010
Location: Wisconsin USA
Age: 59
Posts: 730
|
|
![]() |
![]() |
#17 |
Registered User
![]() Join Date: Mar 2022
Location: Abingdon
Posts: 12
|
Ordered my A3660 for my A3000 today, with 68LC060. What is the score with Roms3.2.1?
Which lib should I copy, VS which one is in rom? (vs 3.1.4 or 3.9 that's mentioned above or in other forums). Thx! |
![]() |
![]() |
#18 |
Moderator
Join Date: Dec 2010
Location: Wisconsin USA
Age: 59
Posts: 730
|
I don't know the score with OS (3.1.4 - 3.2.1). I can only test the 68LC060.library with the OS versions I have (3.1 - 3.9).
IIRC the size of the ROM based mathieeesingbas.library is approx. 1 KB (FPU version) and 5 KB (Non_FPU version). The disk based mathlibs from Commodore, H&P and Hyperion should all be Non_FPU versions. Last edited by SpeedGeek; 06 April 2022 at 13:17. |
![]() |
![]() |
#19 | |
Registered User
Join Date: Dec 2009
Location: Madrid / Spain
Posts: 47
|
Quote:
@Thor A MuRedox+femu tool for LC cpus that replaces FPU code by the emulated equivalent would be great now that 060s with FPUs are getting rare. |
|
![]() |
![]() |
#20 | ||
Registered User
Join Date: Jan 2019
Location: Germany
Posts: 2,515
|
Quote:
So, well, you can "do it in a sense", but as we say in Berlin, you can also sew a knob to your cheek and hang a piano on it if you like, but it's still a bad idea. Anyhow, if anyone wants to test a new version of the MuLib 68060.library or 68040.library, send me a PM. It takes now less memory for the LC CPUs because it can now unload the then unneeded fpsp code. Probably a tiny improvement that releases around 64K of memory for the LCs. It just needs testing as I don't have such CPUs here. Quote:
Again, I don't think this is such a wise idea. Remember, the slow part here would not become the exception trap (unlike with the regular fpsp), but the slow part will be the floating point computation within the CPU. Thus, if you expect that this could run your average FPU based demo well, then I afraid you are wrong, it will be pretty slow, if it works at all (because such software overtakes usually the whole system, including the vector base register, so bad luck). Thus, what I want to say is that the number of applications that require a FPU, and become then usable due to such a construction, is rather limited. E.g. a ray tracer with an emulated FPU will be still low, and actually much slower than doing the math in the CPU in first place without emulation. If you want to use math in a serious application, please consider using mathieeedoubbas, which will pick the math implementation that is most suitable for your setup no matter what your setup is. The Os 3.2 JPEG datatype is a good example as it branches internally between FPU and CPU implementation and picks the one that suits your system. |
||
![]() |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
68060.library update | SpeedGeek | Coders. Asm / Hardware | 29 | 04 December 2022 20:44 |
How to detect 68LC060 | Keir | Coders. Asm / Hardware | 45 | 06 October 2020 22:32 |
workbench.library - Should I update it? | Amiga1992 | support.Apps | 57 | 19 August 2017 12:52 |
Mediator pci.library update | Bamiga2002 | News | 3 | 02 January 2011 12:31 |
REQ: CGX update -> CGXSYSTEM.LIBRARY v42.7 | keropi | request.Apps | 8 | 05 November 2006 22:04 |
|
|