Amiga.org

Amiga computer related discussion => General chat about Amiga topics => Topic started by: BillHarrison on July 30, 2008, 03:21:24 PM

Title: Using a PC as an accelerator? Had an idea last night....
Post by: BillHarrison on July 30, 2008, 03:21:24 PM
OK, I am not around here much, and just recently started putting together an amiga.  But as I was browsing ebay and amibay looking for an accelerator, I had a thought.  Someone with more knowledge than me may be able to shoot this full of holes, but maybe im on to something:

Ok, we all know UAE works great, is very fast, faster than the fastest accelerator by quite a bit.  And speed upgrades are regularly released. However its not completely compatible and not "real" hardware, often in the sound/ custom chips area.  They never made any faster 68060's than 100mhz, and these were never used on amiga accelerators.  I have read threads about trying to use "Coldfire" chips, etc. but these all have varying issues.



With modern busses and interfaces in a pc so fast, and atleast the 68k processor emulation probably nearly perfected, why could we not use a PC as an accelerator?  Follow me through here:  Software program basically emulates the 68k40/60, whichever model + Co-Processor.  Build an interface (Should be easy enough) to fit the CPU slot on the amiga, a short cable (Don't know the technicalities of sending CPU data on a cable?) and connect it to the pc via?  I would guess PCI Express would have plenty of bandwidth.  So have a small card in the pc which should be cheap enough, all it really needs to do is convert modern signals to 68k amiga compatible signals, then put these out to the cpu slot of the amiga.  

As far as the amiga is concerned it would just be talking to an accelerator board, even though its a seperate pc.

Advantages? Well, you could allocate as much memory to the accelerator as you want, and adjust as needed.  You can tweak the code etc quickly and easily, no need for revamping hardware / etc.  You could change processor types / speeds with a simple reboot of the amiga.  Obviously it would be price competitive with current accelerator cards, as you can buy a brand new high speed pc for 300$ many times.  And most of us have them anyways. So price is a big advantage, if you could produce the hardware interface for 100$ish bundled with the software to make it all work.

Negatives?  Well, you would have to have the pc on anytime you used your amiga ACCELERATED (Don't see any reason you could not have a switch of sorts to simply boot your amiga stand alone stock), so power would be greatly increased (Of course in this day and age pcs are faster and great on power consumption, and alot of us, myself include run a pc 24/7 so it would not make much difference).  Size?  I imagine though with some of the smaller form factor pc's you could make something a little bigger than a mac mini and just dedicate it beside the amiga as a sort of "External" accelerator.  Or plug it into your regular pc and just use it as needed?  

So anyone with some real knowledge want to tell me why it won't work?  It seems feasible, but I am not a real good hardware guy.  Perhaps timing issues would be insurmountable?  Anyone?
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: djbase on July 30, 2008, 03:22:50 PM
WinUAE on x86 PC sounds easier.
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: BillHarrison on July 30, 2008, 03:28:36 PM
Well, it is easier, but this is kinda something different all together.  I am thinking the ultimate application of this would be a 2.5ghz Mac Mini sized box, running this accelerator software on linux / etc, simply sitting beside your amiga.  Turn on the accelerator box, allow it to boot, then turn on the amiga and enjoy a 500mhz ish amiga, which would be unacheivable basically any other way.  Obviously winuae is the easiest way to have a "Fast" amiga, but to many its not real, and the special chips again are not emulated perfectly.  I guess its a different approach.  This way you get that "real amiga" feel with the sound, graphics, etc, because its all being done with the real amiga chipset.  Basically the same as having a 68060 equipped amiga, faster but real.
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: joekster on July 30, 2008, 03:29:07 PM
such a device already exists. it is called an in-circuit emulator.
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: BillHarrison on July 30, 2008, 03:31:09 PM
Wow!  Who sells these and how come noone ever discusses them here?
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: trekiej on July 30, 2008, 03:42:56 PM
I was thinking of hooking a pci socket of a pc mainboard to the accelerator port of an amiga.
Use freedos to emulate 68k or ppc.
Some one seems to think that I am refering to elbox shark and I am not.
 :-D
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: Piru on July 30, 2008, 03:49:21 PM
Developing the actual interfacing hardware and software would probably make it as expensive as any other amiga accelerator.
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: jorkany on July 30, 2008, 03:58:57 PM
BillHarrison,

What you're talking about is known as an in-circuit emulator (ICE). We used them where I worked years ago for OS development with processors such as the Z80, 6502, etc. However, given that modern CPUs practically have debugging built-in, I don't know if ICEs are even used anymore.

Anyway, your idea could possibly work assuming you can get the timing issues worked out, but what's the advantage? You have an old Amiga using a PC as a very fast CPU - then what? Don't all your 68K programs work fine as-is on a real CPU? And for those that you want to run faster, don't you have better software on your PC to do those tasks anyway?

Technically it's an interesting idea that may have some merit, but from a practical standpoint it's not worth doing. It's not like you're going to gain anything by running Lemmings faster, for example.
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: BillHarrison on July 30, 2008, 03:59:48 PM
Perhaps, but even if it was "As expensive" as any other accelerator, it would be the only one you could buy a faster processor for at new egg.  I mean, it seems to have some obvious advantages in those areas.
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: jorkany on July 30, 2008, 04:05:22 PM
BillHarrison,
   Just read through the replies after my first post in this thread, and saw this:

Quote
Wow! Who sells these and how come noone ever discusses them here?

Just google and you'll probably find several companies who make them for a variety of CPUs. Probably the reason they are not discussed here is, ICEs are a fairly esoteric device used primarily for debugging embedded operating systems. Not many people have cause to use them, and they aren't meant to replace a processor to "make things work faster".

You can also assume they are not cheap.

Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: cpfuture on July 30, 2008, 04:10:48 PM
It would definitely be cool if you could base it one of those small form factor motherboards and stick it inside a GVPA530 style case and slap it into the side card slot of an A500.

Just dreamin'.
;-)
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: BillHarrison on July 30, 2008, 04:42:58 PM
Well, I guess the idea would be its a pc + interface card, so you could build the PC anyway you see fit as long as you can put the interface card in it.  Gives alot of flexibility.  
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: cv643d on July 30, 2008, 04:43:09 PM
I think some German dude on A1k.org is already working on something like this, I think he has posted info/images about it here.
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: Hodgkinson on July 30, 2008, 04:51:25 PM
This?
http://www.amiga.org/gallery/index.php?n=2210
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: bloodline on July 30, 2008, 04:59:49 PM
@BillHarrison,

If we abstract your idea, you basiclly want to connect a modern x86 to the CPU bus of an Amiga. Then run a 68k emulator on the x86 so that the it looks like a 68k to the Amiga. Perfectly resonable idea and one I toyed with back in 2002... I expect my old posts are still in the archive here somewhere...

But now there are 3 problems...

1) As Piru has pointed out the market for this is so small it would be impossible to make it a resonable price, the cost of developing the hardware and software alone could NEVER be recouped.

2) Once you've built this new CPU board, you would want to add USB, a sound chip, a GFX chip, perhaps S-ATA (you pretty much get all these things for free with the x86 support chips)... then you have to ask yourself what is the Amiga actually doing? Why have I bothered to build an interface to the Amiga when everything is now offloaded to the new board...

3) On my machine at least (a MacBook Pro), it can, with UAE/WinUAE emulate any real Amiga I have... better than my real Amigas...since all output is by default on a nice monitor and via better audio... I don't have to use one of my aged Amiga Mice with the dodgy left click...

In short, it would have been nice 8 years ago... but not now :-)
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: Tron2k2 on July 30, 2008, 05:12:47 PM
Here's my two cents here

It seems like modern USB2 or firewire would be more than fast enough for anything that ever took place in a real Amiga's memory bus-think around 30 megs/sec which is well within firewire's scope.  So you could theoretically have the Amiga as a device in the firewire chain ;-) and the Amiga would just have a nice, fast CPU.  I know this whole idea isn't practical or, really, even sane :-)  But we're all insane here, so who cares?!

We've all long since gone past the point of being practical.  I mean really, how many of us here bought a GBA1000 and are fully intent on soldering it together, all 476 components or however many it has, so we can have the fastest Amiga 1000 in town?

I'd buy a microITX PeeCee and stick it next to a 1200 in a heartbeat if I could run those old Haujobb demos twice as fast as I could with a Cyberstorm in a 4000.

I've tried UAE but just couldn't ever get it to run the old hardware banging AGA demos right, if at all.  But that was a few years ago, so is the luck better now with them?
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: BillHarrison on July 30, 2008, 05:44:06 PM
Thats basically the idea.  Anytime you want to use your amiga accelerated, plug it in the pc, fire up the emu software, then boot the amiga and enjoy.  Should be no aga demo etc problems because you will be using the real deal.  Atleast no more than with any other accelerator.  

I think the software part should be simple, there are a vast number of open source 68k emulators.  Put together a hardware interface would be the hardest part.  What bus, is firewire actually fast enough etc.
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: Nlandas on July 30, 2008, 05:47:24 PM
   What if we twist your idea around and look at having a Clone-A or NatAmi on a PCI card for UAE to access for custom chip access. (That is assuming that Clone-A or NatAmi FPGA code would be more compatible with the custom chips that WinUAE software emulation.) It sounds like the Clone-A might be.

I think Clone-A was going to be ECS in it's first version but still. I've thought of using modern PC hardware to run Amiga with a PCI card with custom chips for backwards compatibility for years.

-Nyle
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: BillHarrison on July 30, 2008, 05:51:21 PM
Lots of possibilities, but I figured the simplest and one of the most needed was simply a faster processor.  I see no reason you could not also expand it to do rtg, usb, and some other things in the future, just like many accelerator cards did. But for now, simplest would be plugging it in, and just having it do the "Brain work".  

Having it do more down the line is a definite possibility, and probably one of the better things about the idea.  Once the interface is designed, you can do about anything you want on the pc side with the data.
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: BillHarrison on July 30, 2008, 05:53:12 PM
So on this though, does anyone have some information on the cpu slots of different amigas?  Some information on how an accelerator actually works on an amiga?  Etc? I would like to do some reading on it.
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: HenryCase on July 30, 2008, 05:53:37 PM
@BillHarrison
If you're looking for a 'classic Amiga on steroids' you should check out the Natami:
http://www.natami.net/
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: bloodline on July 30, 2008, 06:11:17 PM
But all this revolves around the flawed assumption that UAE is less compatible than real hardware, this really isn't true anymore.
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: Dr_Righteous on July 30, 2008, 06:37:41 PM
I've often wondered why no one bothered making an x86 version of the PPC Amiga accelerators. Same concept, different CPU. 680x0 + x86. Call the new multi-tasking kernel "Warp86". :idea:

I'd be all for a PCI card with FPGA custom chips as well, designed for use with WinUAE in a similar fashion to Catweasel (perhaps even incorporating it). This way UAE controls the environment and CPU emulation, but lets the hardware functions be passed to, well, hardware.
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: hardlink on July 30, 2008, 07:51:52 PM
Quote

Dr_Righteous wrote:
I've often wondered why no one bothered making an x86 version of the PPC Amiga accelerators. Same concept, different CPU. 680x0 + x86. Call the new multi-tasking kernel ...


This seems to be in line with the original post, but we don't need no stinkin' kernel  :-) (My WarpEngine or GVP A530 has no kernal) I have plenty of M68K accelerators that plug directly into the CPU socket and mainly have a faster chip - 68020, etc.

I wonder how much hardware would it take to emulate a really fast 68K? A cpu (not necessarily intel) and an FPGA maybe? Here comes my 1 GHz CDTV!
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: Karlos on July 30, 2008, 09:20:39 PM
Quote

Dr_Righteous wrote:
I've often wondered why no one bothered making an x86 version of the PPC Amiga accelerators. Same concept, different CPU. 680x0 + x86. Call the new multi-tasking kernel "Warp86". :idea:

I'd be all for a PCI card with FPGA custom chips as well, designed for use with WinUAE in a similar fashion to Catweasel (perhaps even incorporating it). This way UAE controls the environment and CPU emulation, but lets the hardware functions be passed to, well, hardware.


Such a design would be totally blighted by endian conversion issues. You'd probably need to use the big-endian memory access tricks they did for amithlon.

Another problem with sticking increasingly fast cpus into a classic is the extreme latency of talking to the original hardware and handling interrupts etc raised by it. Eventually, you will have offloaded so much of the original hardware to your x86 stock kit that as bloodline says you'd wonder what it was your original system was even doing.
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: Lemmink on July 30, 2008, 09:36:08 PM
I hate to shoot down your daydreams in midair, but unfortunately this is all pointless.

Even if the development would cost nothing and the software would just fall from a tree it would still be not worth it as it won't accelerate the Amiga as much as you might think.

You should not forget that the rest of the Amiga can not really cope with a "limitless" faster CPU. In fact the existing 060/PPC accelerators are already pushing the limits of the custom chip architecture.

The only Software that would realy take advantage of a mega fast CPU would be software that mainly makes calculation but does not have much graphics our sound output. So you are stuck with numbercrunching software like raytracers.

3D Software will not benefit much from it, as the (fast) calculated data can only be displayed quite slow.
Same goes for Video editing software....
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: amigaksi on July 30, 2008, 09:51:15 PM
>Such a design would be totally blighted by endian conversion issues. You'd probably need to use the big-endian memory access tricks they did for amithlon.

But he is suggesting some interface hardware in between to do the CPU signal translation in real-time.

>Another problem with sticking increasingly fast cpus into a classic is the extreme latency of talking to the original hardware and handling interrupts etc raised by it. Eventually, you will have offloaded so much of the original hardware to your x86 stock kit that as bloodline says you'd wonder what it was your original system was even doing.

I think he's suggesting a pin-compatible replacement of the CPU card with a PC-interface card so as long as the timing is done in hardware (since 0x86 software won't be able handle it), it will be like adding an accelerator card.  The custom chips would have to by synced at the same 7.16Mhz using hardware so it's backward compatible (and NTSC/Pal compatible) with existing software.  Software that uses fastmem and CPU accelerators for computations currently would run faster while the chipset keeps running at the same speed.  Why would you offload sound/graphics to 0x86 hardware?  You are only making a "black-box" type replacement of the CPU.
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: hardlink on July 30, 2008, 09:58:35 PM
Quote

amigaksi wrote:
... You are only making a "black-box" type replacement of the CPU.


EXACTLY! (which is what an ICE box is)

It may not make the overall system faster than with an 060, but you can't even buy 060's new anymore, let alone for a CDTV.
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: bloodline on July 30, 2008, 10:05:42 PM
Quote

hardlink wrote:
Quote

amigaksi wrote:
... You are only making a "black-box" type replacement of the CPU.


EXACTLY! (which is what an ICE box is)

It may not make the overall system faster than with an 060, but you can't even buy 060's new anymore, let alone for a CDTV.


I am typing in English, am I not? Are you unable to understand the points that people are trying to tell you?
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: joekster on August 21, 2008, 12:30:54 PM
Came across this on ebay:
http://cgi.ebay.com/Applied-Microsystems-Code-ICE-68040_W0QQitemZ3868461965QQihZ015QQcategoryZ1504QQrdZ1QQssPageNameZWD1VQQcmdZViewItemQQ_trksidZp1638Q2em118Q2el1247

doesn't seem too expensive... I'm not sure what the onboard cpu is for - maybe there is a fallback mode???
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: Linde on August 21, 2008, 01:47:44 PM
Quote

bloodline wrote:
2) Once you've built this new CPU board, you would want to add USB, a sound chip, a GFX chip, perhaps S-ATA (you pretty much get all these things for free with the x86 support chips)... then you have to ask yourself what is the Amiga actually doing? Why have I bothered to build an interface to the Amiga when everything is now offloaded to the new board...

What exactly does the amiga do when it's connected to a PPC accelerator and a Mediator with a Voodo 3 card and a Soundblaster? What's wrong with using a Voodo 3 and a Soundblaster from the PCI bus of the PC instead? A "well expanded" Amiga these days is just a bunch of hardware loosely held together by an A1200 motherboard anyway.

Quote

bloodline wrote:
But all this revolves around the flawed assumption that UAE is less compatible than real hardware, this really isn't true anymore.

I hate to burst your bubble, but have you looked at the changelog over the past few versions? If it wasn't "less compatible" than real hardware, why would they still be fixing emulation bugs? Oh, and there are the inherent flaws like the slightly delayed input and delayed sound output. I'm not saying UAE sucks. It's just that chipset emulation still doesn't compare to the real deal, especially when it comes to AGA. I think the developers would agree with me.

Of course, the idea is probably not economically viable, and I don't think any sane developer would pick it up, but one can always hope. Some very advanced hobby projects have gone pretty far thanks to devoted and passionate developers, like the Minimig or the 1541 Ultimate.
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: Karlos on August 21, 2008, 02:07:29 PM
Quote

amigaksi wrote:
>Such a design would be totally blighted by endian conversion issues. You'd probably need to use the big-endian memory access tricks they did for amithlon.

But he is suggesting some interface hardware in between to do the CPU signal translation in real-time.



How does this external converter know what size element is being accessed in order to do that?

The CPU core will perform byte/word/long/quad reads and writes on its own caches but the CPU as a whole will perform cache line transfers to/from the main memory. I can't see how any interface in between can have any way of knowing what the data being transferred is in order to to do any swapping. All it will see are long bursts of fixed width accesses.
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: BillHarrison on August 21, 2008, 05:05:02 PM
Perhaps I was not clear enough:

The info will not be processed using the "X86" processor but an EMULATED 680xx processor.  For example:

Run emulator software on PC - It waits for a "Boot" signal from the amiga hardware, basically connected "In Place" of the 680xx cpu.  When it sees this boot signal, same as the 68000 cpu it replaced, it will do exactly what the 68000 would.  

I mean basically, you would have a connector shaped like the cpu your replacing.  You would plug said connector in in place of the cpu.  The emulator software would then provide the correct signals through a cable to this "Cpu" emulator, in essence allowing the pc to become the processor.  Endian issues should NOT be a problem because the emulation knows what to expect, and will deal with it the same way that a 68000 would, ie basically the core of WINUAE etc.  I mean, a 68000 basically is using +5v and 0 for signals.  You would design a pc card or usb interface (If fast enough) that would do 2 things= read the +5v pins on the cpu connector that the amiga would put out, and in return set +5v or 0 on the pins that the amiga expects from the cpu.  Thats the only connection a 68000 has to the amiga, a series of +5v and 0v, can be duplicated through this interface.

The card then digitizes? the +5v and 0 to provide data to the emulator, which then performs whatever op + memory operation the instruction says to do.  Note, this is "Emulated" memory as well as op codes, so endian conversions should not have to occur, its all done with native signals from the amiga and then back out to the amiga.  

Granted My hardware level understanding is not amazingly great, but basic, but here is how I see it:

Power on, PC sees +5v on a certain line, telling the amiga has been powered on.  At this point, and I don't know the technicalities of it, it likely starts reading from the Amiga Rom chip for hardware level boot info.  The pc just acts like the 68000.  

Am I clear enough? Or am I explaining this wrong.
Quote

Karlos wrote:
Quote

amigaksi wrote:
>Such a design would be totally blighted by endian conversion issues. You'd probably need to use the big-endian memory access tricks they did for amithlon.

But he is suggesting some interface hardware in between to do the CPU signal translation in real-time.



How does this external converter know what size element is being accessed in order to do that?

The CPU core will perform byte/word/long/quad reads and writes on its own caches but the CPU as a whole will perform cache line transfers to/from the main memory. I can't see how any interface in between can have any way of knowing what the data being transferred is in order to to do any swapping. All it will see are long bursts of fixed width accesses.
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: derringer3 on August 21, 2008, 05:52:25 PM
Pegasos/A1 machines do the same, as this topic speaks about. These babies is like an accelerated old amigas, with g4 1GHz cpu. On my peg MOS2 boot time is about 2 sec. Just like on my pc booting winuae.
Ok you can do a lot of things faster, mos2/os4 has some new apps, but compared to linux or windows, the avaliablity of softwares is converging to zero. That's the real problem not just the speed.
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: kreciu on August 21, 2008, 05:52:58 PM
I heard so many different ideas (the good one!) how to make my old Migi run faster... problem is that there is nobody who can make reality :(.

The main problem is a owner of the rights for Amiga etc. the Amiga INC. They just pushed double breaks and STOPPED Amiga in 1996 (no OS3.9 is just like... 3.1 ;) )

We need like 100 people willing to pay like $1000 each of and maybe... for $100000 someone will develop NEW "turbo" for old Amiga's or for NatAmi (some PPC board which can run OS4.0 for classic or OS4.1. :hhahhahahahahahhah:

Stop buying "crap" for $1200 on ebay invest this money... ;). Next idea how to make and accelerator. Tomorrow I can have different. Sorry... :-D
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: neofree on August 21, 2008, 07:02:20 PM
Honestly, this is one of the most interesting ideas I've read in awhile.  I know something similar was done with the Commodore 64 to emulate a hard drive. (64HDD)

I don't see how the hardware has to be overly complex if the expectations were set that it would emulate *existing* accelerator boards.  (Or at least the speed expectations.)

I would think you would just find the simplest way to connect a cable to the expansion port of an Amiga 1200 (or Amiga 500) and connect it to the PC somehow.  Via USB? Or parallel port?  That'd be the first milestone.  I'm betting the software part would be fairly easy for someone who could work with UAE's code.

Thanks,

Neofree
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: AmigaHeretic on August 21, 2008, 09:51:41 PM
Quote

BillHarrison wrote:

Power on, PC sees +5v on a certain line, telling the amiga has been powered on.  At this point, and I don't know the technicalities of it, it likely starts reading from the Amiga Rom chip for hardware level boot info.  The pc just acts like the 68000.  

Am I clear enough? Or am I explaining this wrong.


I don't think everyone agrees this is possible.  I mean they are computers we can make them do whatever we want.  You are right, it's digital data, we hook some wires up from the A1200 expansion portlet say, and hook it to the PC (either USB, PCI, Firewire) and then have some emulation software that translates, so the PC looks like one big honking 68k hanging off the A1200 expansion bus.

Possible, but not easy.  No one has done it.

Next option is but 68k emultion code and the Amiga Rom image inside the PC Bios, then but the Amiga Chips on a PCI card.  Then turn the hold PC into a miggy
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: BillHarrison on August 21, 2008, 11:58:18 PM
Thats exactly what I am thinking - Should not be hard from the hardware level - Some buffer circuitry, a little signal translation, basically reading the states of lines on the cpu slot, and providing the signals back as needed.  100$?  Should be doable, I have a cpu slot pinout chart, but no idea what most of the signals mean.  I also have not had any luck finding a low level boot up sequence for the 68000 in an amiga, and how an accelerator is initialized during this sequence.  

That all said, there are many good open source 68000 emulators, and basically modifying one of those for this project would work quite nicely.  

Basically :

Fetch Data on CPU slot -
Determine what to do with said data -
Perform Said operation -
Put Data on CPU slot -
Rinse and Repeat

I would like to really learn something more about the low level amiga hardware, bootstrapping, etc, any recommended sites?
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: trekiej on August 22, 2008, 04:39:19 AM
I went to Wikipedia.org and looked at USB2.0 and noticed that USB3.0 is supposed to run 600 MBs. I believe a serial connection or maybe using a parallel cable from a PC IDE port may be an easier solution.

The usb cards for the A2000 might be modified to do such a thing but would not have the priority that the cpu slot would have.

Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: pekmez on August 22, 2008, 06:16:23 AM
why not just build a realtively cheap pc and install amithlon....mine is the fastest amiga i ever owned :)
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: sim085 on August 22, 2008, 08:29:41 AM
Hi,

I came across this post this morning I must say it is a very interesting concept. I believe many people misunderstood BillHarrison however (or maybe I am?)

I think that what BillHarrison said is that you could have your (everyday) PC or laptop (the computer you use in real life). You then connect this to your Amiga CPU socket. Have an emulation software running on the PC which emulates the an accelerator card (or even PPC card). When Amiga sends data from the CPU port (as per usual) the emulation software on the PC would receive this, process it (having access to all the memory on the PC should make this a no business) and return the output.

If that is what BillHarrison said then all there is to be developed is the emulation software and a cable to connect the PC to the Amiga CPU port. Considering that there is plenty of hardware material to connect a PC to an Amiga, and that the emulation software already exists then I cannot understand what the problem is.

With a little bit more of effort then the software could emulate something like a the GVP A530 which had not only the processor but also a hard drive inside it and thus all your software could be installed on the same pc hard drive. This would also make it easier to see how different operating system worked on your Amiga Units, etc, etc (I am running outside the main point).

I know it is not the same as having the original Amiga hardware but I believe this is the best next thing.

Regards,
Sim085


Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: utri007 on August 22, 2008, 08:48:11 AM
You have all forget Siamese systems, it does excatly what you are talkin about

More info here

http://eab.abime.net/showthread.php?p=406630
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: sim085 on August 22, 2008, 12:52:49 PM
Regarding emulation. UAE already emulates the Amiga chipset correctly. Also there should be no licensing problems since UAE is under GNU General Public License. So can't this (or part of this) be used for such a project?
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: bloodline on August 22, 2008, 01:40:59 PM
If I could interupt this wankfest for a moment... But why?!?!

Ok, lets take the original idea... you have the Amiga (via the CPU slot) wired to a PC (probaby via a USB). Then the PC runs a 68k emulator and controls the Amiga. Ok... so where is the fast RAM going to be? On the Amiga or are you just going to use the PC's RAM? If you are going to use the PC's RAM, why not use the PC's GFX and Sound cards? Why not use it's Keyboard and Mouse... in fact why waste time with the Amiga at all, and JUST RUN UAE...
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: BillHarrison on August 22, 2008, 01:58:21 PM
I mean, that could be said of this entire forum Bloodline.  Why mess with a slower / fragile / expensive hardware period?  Why not just ALL run winuae and forget the hardware completely?  

Nostalgia, the technical challenge, the feel of real amiga hardware, etc.  Why not stay at home and watch tv instead of climbing a mountain?  Its certainly easier!
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: bloodline on August 22, 2008, 02:13:09 PM
Quote

BillHarrison wrote:
I mean, that could be said of this entire forum Bloodline.  Why mess with a slower / fragile / expensive hardware period?  Why not just ALL run winuae and forget the hardware completely?  

Nostalgia, the technical challenge, the feel of real amiga hardware, etc.  Why not stay at home and watch tv instead of climbing a mountain?  Its certainly easier!


This is a better idea, you you are going down this route:

http://www.amiga.org/forums/showthread.php?t=37763
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: sim085 on August 22, 2008, 02:30:38 PM
Although the idea is very nice and interesting it still more hard and expensive to achieve then BillHarrison idea (IMHO).

The idea on the other thread requires hardware to be developed on bought only for the Amiga machine. While the idea on this thread make the Amiga owner able to use the resource of the PC he/she (most probably) already has.

Also this idea is much easier to implement for the non technical people on this forum; it is ibviously easier to build some form of connector between the PC and Amiga then building a whole card - since obviously if a card is ever developed for the Amiga it will only be for a small range of Amiga's (such as the A1200) and not mass produced for reasons discussed on other posts.



Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: ollygd on August 22, 2008, 02:57:40 PM
This is an interesting thread - its stuff I've thought about quite a lot. I think the die-hard fans (myself included!) like to keep using their old hardware for the real "experience", and ideas like this are aimed at preserving this. A certain amount of the romance is lost when using UAE, no matter how good it is!

We've recently started using Windows Server 2008 at work, and one of the nice features is the "Remote Application" function via Terminal Services. In previous versions, terminal services allowed access to a remote machine's entire desktop, but with this, individual applications can be sent to a client, from a TS server, as if it were installed locally.

I wondered what the odds of developing a compatibile RDC client for a suitably specced Amiga would be? You could open anything on a Server 2008 box, in Workbench. All the processing goes on in the server, and the presented application is little more than an image.......

Just a thought!
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: amigaksi on August 23, 2008, 01:36:26 AM
>How does this external converter know what size element is being accessed in order to do that?

>The CPU core will perform byte/word/long/quad reads and writes on its own caches but the CPU as a whole will perform cache line transfers to/from the main memory. I can't see how any interface in between can have any way of knowing what the data being transferred is in order to to do any swapping. All it will see are long bursts of fixed width accesses.

The data/address lines (including A0) must be coming outside of the processor since the I/O ports are not cached, VGA memory is not cached, and some other areas aren't cached or configurable.  In worst case if some processor is only accessing memory via cache, you can disable the cache; at least on my Toshiba laptop, it has the option for write-through so writes are not cached.

Interesting though that people have declared in this thread:
(1) not do-able in hardware,
(2) not do-able in software (me),
(3) do-able in software, and
(4) some imagining that the entire amiga is do-able in software.  

Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: Linde on August 23, 2008, 05:51:08 PM
Quote

bloodline wrote:
If you are going to use the PC's RAM, why not use the PC's GFX and Sound cards? Why not use it's Keyboard and Mouse... in fact why waste time with the Amiga at all, and JUST RUN UAE...

Had you not ignored my last message in this thread maybe you would have taken a hint. The original idea was to use a PC as a classic styled CPU accelerator with FastRAM. While support for RTG graphics and PC sound is excellent in WinUAE, AGA emulation is still not quite there, so there's definitely a hole to be filled by a new accelerator for classic amigas. Now it's just a matter of how to do it, and I think this idea is excellent.

If you don't agree there's still no use in coming here and calling the thread a "wankfest". We're toying and dreaming about an idea, and there's no harm in that, so there's no need to be rude.

Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: bloodline on August 23, 2008, 05:56:11 PM
Well if the AGA emulation isn't very good in UAE, name me a program I can run that would fail in UAE please :-)

This is a wankfest because of the initial assumption that UAE has problems.
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: Linde on August 23, 2008, 09:11:42 PM
Well, I tried booting from the CF card I use in my Amiga in the latest version of WinUAE (based on the A1200 quckstart configuration with "best compatability"), emulating my setup (stock 1200 with 8mb expansion RAM).

First game I tried was Lionheart (since it uses a lot of visual effects based on graphics timing) and I randomly get graphical artifacts in the background.

The second game I tried was The Addams Family (less hardware wank), which worked very well except that the sound from when you jump on an enemy would randomly be reduced to just a "click" noise. This could be because of my sound settings, though, but I don't usually experience the problem of sounds disappearing in other games.

The third game I tried was Agony, which works great until you move the player to the bottom of the playfield and fire. Strange looking artifacts appear on the top of the playfield.

None of these are even AGA games, and these bugs don't appear on the real machine.

As I pointed out earlier there's no need to try every piece of software when you can just have a look at the WinUAE changelog and see what bugs were fixed in chipset emulation over the last few versions. Do you really think that the AGA bug that was fixed in 1.5.0 ("AGA mode sprite garbage may have appeared in some cases.") would be the final one?

Honestly I think that you should just get over your besserwisser attitude until you actually get a clue.
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: InTheSand on August 24, 2008, 01:12:08 AM
Quote

ollygd wrote:
We've recently started using Windows Server 2008 at work, and one of the nice features is the "Remote Application" function via Terminal Services. In previous versions, terminal services allowed access to a remote machine's entire desktop, but with this, individual applications can be sent to a client, from a TS server, as if it were installed locally.

I wondered what the odds of developing a compatibile RDC client for a suitably specced Amiga would be? You could open anything on a Server 2008 box, in Workbench. All the processing goes on in the server, and the presented application is little more than an image.......


Published applications are great, provided the client is up to the job of receiving data and updating the display quickly enough. However, even the fastest 68K CPU could have problems with this, especially with a lot of audio or graphical data.

Even if, hypothetically, I guess there could be a chunky-to-planar graphics data conversion done at the server end, then the planar data fed in compressed format to the Amiga... And similar for any audio, with it being reduced to low bitrate possibly mono sound, then for a local Amiga client to not have to do too much, this still might be too taxing to get a really usable experience.

 - Ali
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: freqmax on April 24, 2009, 11:44:44 AM
I found this thread today ;)
And would like to say it's definitely feasable. The paths to accomplish it may be:
0) Buy an 68000 in-circuit hardware emulator for x86-PC. And write the PC end of it.
1) Buy an PCI-FPGA card ~100 EUR. And wire the I/O to an 68000 cpu socket. Keep lengths short though!
2) Software program that runs on an unmodified Amiga, but makes the Amiga a slave via SCSI. Ie read instruction+data, amiga->pc, execute, pc->amiga, write/read, repeat..

Latency IS an issue. This makes USB/Ethernet/Firewire unsuitable. This is especially true for usb. Usb were force feed by putting those {bleep} interface chips on the motherboard without asking. Something along firewire would been a better performer.

As for the amount of data, just for 7,14 MHz it will be at least >500 Mbps.

Gains: Cycle exact sound & graphics. Though CPU cycle lengths may may vary ;)
Something all software based emulators will struggle with is latency!
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: Fransexy_ on April 24, 2009, 12:18:33 PM
I was thinking in something similar since years ago.An Amiga accelerator using an x86 cpu as emulated 68k.The x86 is used 100% only to emulate 68k instructions and  you used the rest of the logic of the accelerator to wire to CPU slot.The Amiga only see a super fast 68k cpu and the x86 are always emulating a 68k and only see and returns 68k code
You can even use the newer ultra low power consumption  neetbooks x86 cpus for using in the trapdoor slot of original amiga cases

Said this, I would add that the cpu could be of any family, we are talking about x86 but an accelerator with the same concept could be made with ARM, PowerPC,MIPS, SPARC or with a FPGA
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: ajlwalker on April 24, 2009, 12:22:49 PM
Had to lol at Linde's put down to bloodline.  :lol:
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: KimmoK on April 24, 2009, 03:30:26 PM
I vote for these:

Alternative1:
- 68k built in FPGA, on a CPU slot compatible card (natamiguys can deliver their future 070 chip code for that)
- can be changed to a PPC accelerator by programming the FPGA again
- no need for that stooped x86 dongle-kludge-box beside the Amiga

Alternative2:
- AGA or Minimi or Natami GFX chips on a 3.3volt PCI card, then the 68k can be emulated by the host CPU.
- would be interesting & usable also in SAM440


... I might buy both  :-P
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: freqmax on April 24, 2009, 03:40:09 PM
Ofcourse the 100% FPGA route is the prefered way. But if you going to do the x86-accelerator path. Then my listed alternatives might be valid.

The only catch with FPGA is that it requires a whole set of transistors to "fake" one real ASIC one. Which translates mainly to speed and functionality per chip.

I think the most interesting board right now is the fpgaarcade one. It has the potential for 020/AGA.
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: joekster on April 24, 2009, 05:32:36 PM
All of this discussion sounds almost exactly like AmiJoe. Anyone know whatever happened to this project. It seemed pretty far along. Maybe someone would want to continue working on it...AmiJoe on bboah (http://www.bboah.com/index.php?action=artikel&cat=9&id=1960&artlang=en)
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: sim085 on April 25, 2009, 03:45:55 PM
How much is it possible that something like this is developed for the A500? Maybe even through some 'do it yourself' project like the GB1000 project!
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: BigBenAussie on April 25, 2009, 04:34:35 PM
It just occured to me.....

What I don't understand is why classic ppc accellerators have not been emulated on a ppc apple in conjuction with UAE. If an OS4 compatable ppc accellerator could be emulated you'd then have OS4 classic running on relatively powerful hardware. I know it is probably not as easy as that, but it has to be less trouble than emulating a Sam or A1, just a classic expansion to get OS4.

If Hyperion's contract gets limited somehow, could they not pursue this avenue and develop OS4 for classic and have others open source the ppc emulation to get OS4 on other hardware. It'd be like buying the ROMS to get UAE working.

Incidentally...in light of OS4.1, is OS4 for classics compatable with current OS4 software?
Title: Re: Using a PC as an accelerator? Had an idea last night....
Post by: SamuraiCrow on April 25, 2009, 05:03:44 PM
Quote

BigBenAussie wrote:

Incidentally...in light of OS4.1, is OS4 for classics compatable with current OS4 software?


Not all of it.