Paralel
Well-known member
Why any EC model? How do they implement the MMU?It's not really an m68060 - it's just the speed of an m68060. It's more like an m68EC040...
Why any EC model? How do they implement the MMU?It's not really an m68060 - it's just the speed of an m68060. It's more like an m68EC040...
So far as I'm aware the shipping version of the Apollo core doesn't have a full MMU. AmigaOS doesn't need one, my vague understanding is that Amiga software is structured as relocatable blobs of code with runtime linking and doesn't strictly care about memory being contiguous nor need a virtual address space for each process ala Unix. That does of course mean the Vampire won't run NetBSD, and would also make it complicated to run MacOS with more than 24 bit addressing on it.Why any EC model? How do they implement the MMU?
*snicker* Yeah, I just didn't want to sound too handwave-y.Honestly, the patches and code from Shapeshifter / Basilisk could make patching a Mac's ROM really easy, since most of the work is already done.
Yes. There's some vaporware-ish sounding talk on the website about maybe in the future it gaining the ability to run AGA chipset graphics but at the moment it appears to implement a "Picasso 96" framebuffer. (That being a driver standard for using VGA chipset-equipped expansion cards in an Amiga for programs able to use the "ReTargetable Graphics" support in later versions of the Amiga OS.) Presumably normal ECS software still goes out through the chipset hardware in an Amiga 600 equipped with it.I just don't understand how the HDMI port would work. Does it show up as a video card somehow?
My point about cramming an LCD into a Classic case was very specific on this point: if you did that you wouldn't be able to use the original motherboards' native video anymore. (Short of designing a video converter circuit that could take said output and upscale it.) *Aaaand* you'd have to seriously bust up the case to do it. There were plenty of external video solutions for toaster macs to let them run with a second monitor, just sort of seems to me that would be the better way to use something like a Vampire if you *were* to get it running in a Mac.Why hotrod a vintage car when you can buy a modern sports car? There's something to be said about suping up an original rather than getting something new, even if the original is only barely an original by the time your'e done. I like upgrading the crap out of my vintage machines, sticking as much as possible inside them without going modern. It's challenging and fun.
I didn't mean offense by the language choice there, just saying it's not there yet. And, yes, AGA exists in those full FPGA re-creations, I guess I'm just curious how they're going to add AGA to a machine that already has ECS without having to essentially dumb the host machine down to an input device and port the "whole enchilada" into the FPGA. But those guys know way more about the Amiga than I do so presumably they'll be able to pull it off in some form or they wouldn't be announcing it.There's nothing vaporware-ish about running AGA in an FPGA. It already exists. Also, it's pretty dismissive to talk about something as vaporware-ish from a group of people who are shipping real products.
It seems to me that "compatibility" is a pretty slippery concept here. Are you talking about "cycle compatibility" with the original system? Because the Vampire isn't that, not even remotely, nor is it exactly opcode compatible with any real 680x0 CPU. Further, if we imagine this thing stuffed into a Macintosh in some form that lets it transcend the original hardware limitations the whole machine isn't going to particularly closely resemble *any* real machine that Apple tested any version of MacOS on so... let's just say I don't think this argument holds as much water as it might appear.Finally, an Intel NUC is not going to be as fast as or faster than a fast m68060 or the Vampire. That's possible when using JIT emulation, but straight emulation, which is necessary for proper compatibility, is not that fast yet.
Because I'm annoyingly stubborn I dug up a Basilisk disk image and tried the 2014 build of BasiliskII E-Maculation links to and tried that. According to Speedometer 4 the integer performance of the same laptop as above is 19.46 times as fast as their baseline, which is a 25mhz 68040. Coincidentally that's the same Mhz as the Amiga 4000/40. I'm having a blazes of a time finding solid benchmark numbers for the Vampire but, well, one test on its page shows it achieving "31.2FPS!!!" verses 6.8 for an Amiga 4000/40. That's roughly 5x, not 19x. Is a 68060 *ever* really 19 times faster than a 68040@25mhz? Honestly curious.benchmark, JIT, NoJIT, whatever
I actually tried to see what ARAnym would do with MMU enabled but the OS X port of it seems to be sort of broken. I was really curious how it would compare with the no-JIT-no-MMU score but in the time I had to fiddle with it I couldn't get it to launch. Might try it on a Linux box later, although the fastest thing I have at hand for that is *really old*. (2008 vintage Core Quad.)Now that I think about it, I suppose my tests have all been with MMU emulation on, so I bet while I'm not seeing a Core i7 beat an m68060 and you're seeing it clearly beat one, the MMU emulation is why...
Isn't self-modifying code pretty much verboten on anything above a 68040 anyway? (IE, wasn't that the one biggest compatibility problem introduced by the Quadra?) On one hand that certainly is the theoretical advantage of creating your own syntho-CPU in an FPGA, you could design it to allow for *anything* written for a 68000 to work properly, but on the other, well, if you want to do that and *seriously* improve the performance compared to just an "over-clocked" 68000 it would seem that such a design decision would make it particularly complex to implement modern technologies such as pipelining and superscalar execution, both things the Apollo core claims to have. I'm curious how compatible it actually is with the sort of code that would blow up a JIT emulator *or* a 68040/60.What I mean is that self-modifying code won't run properly on JIT.
Actually I guess this page claims they break on anything above a 68020, but maybe your mileage may vary.Isn't self-modifying code pretty much verboten on anything above a 68040 anyway?
Just to note, I did stumble across a pre-built Debian Sarge disk image and successfully fired that up, so apparently that ST benchmark is telling the truth that the MMU-capable binary runs faster than the plain no-JIT.And what's actually strange is the MMU binary runs faster than the no-MMU one. It's claiming a CPU score of "70.2" vs 49.5 for the CT60-100 (And about 50 for the non-MMU binary) and 23.8 for a Hades 060. I have no explanation as to why the MMU binary is faster but at least here it seems to believe it is. (If I could find a disk image with NetBSD already installed on it I'd be tempted to try to load that just to make sure it's working as advertised.)
I for one am enjoying reading your musings. Very informative.I know it's bad form to keep replying to myself, but...
Yay!You've given me hope, Gorgonops!