Amiga.org
Amiga computer related discussion => General chat about Amiga topics => Topic started by: nyteschayde on March 05, 2017, 08:24:49 AM
-
I cannot help but think that the Raspberry Pi Compute Module 3 (https://www.raspberrypi.org/blog/compute-module-3-launch/) would make a great platform for an accelerator for the Amiga.
With the raw CPU power (as compared to the 68k platform), and the RAM, an accelerator card that takes a CM1 or CM3 card and uses the ARM CPU as either a CPU accelerator via 68K emulation and/or as a secondary processor in the same way that a PPC is used on the Amiga platform.
If not as a CPU, perhaps as a video card. With HDMI out and the GPU on the CM3, it could/would be a great peripheral in that aspect as well. It also can serve as a USB stack provider given it can run in either HOST or OTG mode.
Finally, barring everything else, it could serve as a computer in the computer for when you need to browse the internet. I am sure a parallel port data transfer could be setup.
Seems like someone like TerribleFire could work wonders with the flexibility this $30 card offers.
-
I've long fantasised of an x86 running a 68k cpu emulator on a trapdoor card or cpu slot board, arm would be nice also. Far beyond my capabilities though.
Would theoretically be much faster than an fpga based 68k.
On the subject of using an rpi for networking inside an Amiga, i think Kolla is doing this already.
-
What will comnect to what? Cpu slot to usb2? maybe enough gpio to make a "software bus" but that wound not likely perform well. I made apb and ahb bus before on gpio, was very slow but suitable for the unusual situation at hand. Ibwouldnt do this for something in the real world.
-
If I'm remembering correctly, I think it was Kermit Woodall (of NovaDesign fame) who published something in the early 2000s about wiring 68K emulation output on an x86 box directly into the CPU socket of an A1000. So it seems like it's possible in theory, although I'm not sure how far along the project got.
-
Pi is good for price, but for performance, Odroid is hard to beat.
You can either go FSUAE emulator, AROS, or wait for an ARM version of AmigaOS4.
I'm not in a rush. :)
-
What will comnect to what? Cpu slot to usb2? maybe enough gpio to make a "software bus" but that wound not likely perform well. I made apb and ahb bus before on gpio, was very slow but suitable for the unusual situation at hand. Ibwouldnt do this for something in the real world.
The Compute Module has the same form factor as a DDR2 SODIMM, so can be connected to Amiga buses.
Cheap graphics card, other goodies very connectable. Unlike Odroid or Pi.
-
I give all my Amiga systems a pi (zero), primarily to act as network bridge, giving them wifi (with modern capabilities) and hence avoid the need for cables all over. Bonuses are that the pi also can share filesystems and give Amiga access to USB storage (imagine if someone wrote USB-over-IP driver for Poseidon), playback of music files can be offloaded to the pi, it can act as web proxy and bypass the hurdle of resource hungry modern SSL/TLS handling, giving rsh/rlogin/telnet access solely to the Amiga, it's the "jump host" for ssh out to the world... it also acts as name server, ntp server and whatever else I find useful.
I am curious if it would be possible to network Amiga with Pi directly over parallel port, using the GPIO pins in the Pi. It is of course possible via Plipbox :)
-
http://www.fpgaarcade.com/punbb/viewtopic.php?id=1221
-
I give all my Amiga systems a pi (zero), primarily to act as network bridge, giving them wifi (with modern capabilities) and hence avoid the need for cables all over. Bonuses are that the pi also can share filesystems and give Amiga access to USB storage (imagine if someone wrote USB-over-IP driver for Poseidon), playback of music files can be offloaded to the pi, it can act as web proxy and bypass the hurdle of resource hungry modern SSL/TLS handling, giving rsh/rlogin/telnet access solely to the Amiga, it's the "jump host" for ssh out to the world... it also acts as name server, ntp server and whatever else I find useful.
I am curious if it would be possible to network Amiga with Pi directly over parallel port, using the GPIO pins in the Pi. It is of course possible via Plipbox :)
Sounds like a very clever idea. Any chance of blogging or documenting it?
I've been trying to setup a connection via a high speed PCMCIA serial port and not getting much success. Ideally I'd like to use the A1200 as programmer and archiver for the various bits of Pi and Arduino that I have.
GPIO pins are doable (just my opinion) but you have to be careful if power for the Pi goes that route - there is no protection for reversed polarity or 5V going down the wrong pin to a 3.3V input. Link to the HAT I'm playing with, it's open source and giving me a few headaches...
http://www.watterott.com/de/RPi-FabScan-HAT
-
I give all my Amiga systems a pi (zero), primarily to act as network bridge, giving them wifi (with modern capabilities) and hence avoid the need for cables all over. Bonuses are that the pi also can share filesystems and give Amiga access to USB storage (imagine if someone wrote USB-over-IP driver for Poseidon), playback of music files can be offloaded to the pi, it can act as web proxy and bypass the hurdle of resource hungry modern SSL/TLS handling, giving rsh/rlogin/telnet access solely to the Amiga, it's the "jump host" for ssh out to the world... it also acts as name server, ntp server and whatever else I find useful.
I am curious if it would be possible to network Amiga with Pi directly over parallel port, using the GPIO pins in the Pi. It is of course possible via Plipbox :)
I'd love to see documentation of how you did this. It sounds awesome.
-
The Compute Module has the same form factor as a DDR2 SODIMM, so can be connected to Amiga buses.
Cheap graphics card, other goodies very connectable. Unlike Odroid or Pi.
The form factor is the same but the pinout isn't going to be compatible with any Amiga bus, its simply bringing out the USB and and i/o ports.
I've been wondering though, the (PC) ISA bus was/is pretty slow I wonder if the i/o pins on a Pi were brought out to a latch could it be used to drive ISA cards. There are not enough pins for address and data so it would probably need to mux it like the 8085. Then we could eventually built a Pi bridgeboard.
-
After checking the datasheet, you are quite right. The Computer Module has exactly the same connections as a Raspberry PI... so yes, people are pretty much limited to using serial connectors to talk to the beast.
So it isn't going to talk faster than say, an Indivision. Although it could probably execute graphics instructions quicker once it received them.
-
@nyteschayde: You're not the only one thinking about that idea: http://www.fpgaarcade.com/punbb/viewtopic.php?id=1221
-
Hi.
I think the CM3 module will run very nicely as a 68060.
"The Computer Module has exactly the same connections as a Raspberry PI... so yes, people are pretty much limited to using serial connectors to talk to the beast."
Not quite. It has a lot more IO pins on the edge connector, and these can be used as a local bus interface, similar to the original 68K.
-
What will comnect to what? Cpu slot to usb2? maybe enough gpio to make a "software bus" but that wound not likely perform well. I made apb and ahb bus before on gpio, was very slow but suitable for the unusual situation at hand. Ibwouldnt do this for something in the real world.
It would need a card with a normal trap door edge connector. The CM3 has a slot based edge connector of its own. Hence it would need a card developed to interface and I am not presuming it would be easy.
-
@nyteschayde: You're not the only one thinking about that idea: http://www.fpgaarcade.com/punbb/viewtopic.php?id=1221
:) Great minds think alike?
-
Not quite. It has a lot more IO pins on the edge connector, and these can be used as a local bus interface, similar to the original 68K.
That is what I thought until I checked the datasheet. The "extra" IO pins replicate the digital camera input on a trad Pi.
Nothing like the original 68K... although I guess maybe the Amiga video output could be routed to them. Very different voltage levels though.
Sorry? Me too.
EDIT: You do get some extra GPIO pins, but only 45 in total. Not enough to do to a full processor with on a pin to pin basis... but you are right in saying it does have extra pins.
Some potential, but not as much as you might think... Hmmm. Definitely something to mull over.
-
It looks like ISA via USB is a possibility
https://www.raspberrypi.org/forums/viewtopic.php?t=46841
It looks though like one could bit bang out the GPIO to an ISA card so I'm thinking it should be possible for zorro slots too, espically with the 68k being async.
I don't have any old cards to test with anymore.
-
Yes... ISA / PCMCIA / Zorro are roughly equivalent to the transmit/receive speed of a Pi.
One outlandish thought that crossed my mind would be hooking it up to an FPU socket, so that it mimics a standard 68882 but running at much higher speed.
20 Mflops? Sounds like quite a good idea to me, compared to most Amigas. :hammer:
-
EDIT: You do get some extra GPIO pins, but only 45 in total. Not enough to do to a full processor with on a pin to pin basis... but you are right in saying it does have extra pins.
Some potential, but not as much as you might think... Hmmm. Definitely something to mull over.
The GPIO pins are also connected to BCM ARM peripherals, for example i2c/spi etc.
SMI is one of these peripherals designed to connect to multiplexed address/data buses.
It can spit out some data at high speed, and a simple FPGA can then act as an interface to the 68K socket.
Dave has done some work here to replace a 6502
https://github.com/hoglet67/PiTubeDirect
My application, using the CM3 as a CPU in an FPGA system is quite a bit simpler as I have more flexibility in the interface timing.
I'll post more on the fpgaarcade.com forum as I make progress.
-
Sounds like a very clever idea. Any chance of blogging or documenting it?
Hm, yeah, I guess I could do that. Nag me again in a few weeks :)
I've been trying to setup a connection via a high speed PCMCIA serial port and not getting much success. Ideally I'd like to use the A1200 as programmer and archiver for the various bits of Pi and Arduino that I have.
I was not aware that there are high speed serial port PCMCIA cards that work with Amiga? I have a Silver Surfer that connects to the clock port myself, have not used it yet though... :p
GPIO pins are doable (just my opinion) but you have to be careful if power for the Pi goes that route - there is no protection for reversed polarity or 5V going down the wrong pin to a 3.3V input.
Yes indeed, voltage leveller is needed.
Maybe a dedicated HAT/pHAT specifically made to fit to Amiga parallel port (or even external floppy port - or both) could be a an interesting route to go :)
-
I give all my Amiga systems a pi (zero), primarily to act as network bridge, giving them wifi (with modern capabilities)
Do you set this up as a PPP or SLIP via the serial port?
I am curious if it would be possible to network Amiga with Pi directly over parallel port, using the GPIO pins in the Pi. It is of course possible via Plipbox :)
This is an interesting idea. I think the Pi might be able to do it but the protocol would have to tolerate the non-real-time nature Linux running on the Pi.
OTOH, a parallel port connection to a Pi could expose a bunch of features - network, USB, storage - to an Amiga with the right device drivers:
[FONT=Courier New] /-> Net Driver
RPi <--> GPIO <---> PAR Port <---> Amiga <---> USB Driver
Server Server \-> Disk Driver[/FONT]
It'd be a lot of work and probably not very fast but a cheap way of adding features!
Cheers,
Andrew
-
Do you set this up as a PPP or SLIP via the serial port?
PPP via serial or ethernet via PCMCIA (or plipbox).
This is an interesting idea. I think the Pi might be able to do it but the protocol would have to tolerate the non-real-time nature Linux running on the Pi.[
OTOH, a parallel port connection to a Pi could expose a bunch of features - network, USB, storage - to an Amiga with the right device drivers:
[FONT=Courier New] /-> Net Driver
RPi <--> GPIO <---> PAR Port <---> Amiga <---> USB Driver
Server Server \-> Disk Driver[/FONT]
It'd be a lot of work and probably not very fast but a cheap way of adding features!
Cheers,
Andrew
My thoughts exactly :)
Another port that is typically not used much - external floppy port. I used to have AmigaLink which gave ethernet-alike network using the floppy port, and it was darn nice.
-
Hm, yeah, I guess I could do that. Nag me again in a few weeks :)...
I was not aware that there are high speed serial port PCMCIA cards that work with Amiga? I have a Silver Surfer that connects to the clock port myself, have not used it yet though... :p
Two native types are Surf Squirrel/Whippet.
It struck me that PCMCIA serial ports from alien architectures have not been documented / investigated for years, so I thought that was a good area to explore and tinker with.
-
I think just having a second CPU to delegate and run tasks on would be very nice indeed. Something we can compile to and connect with and run software on. If there was a native way, including the use of the edge connector of the CM3, to add the ARM CPU to the system, it could provide a very nice speed bump.
Or, if you're super crazy, an A1200 trapdoor connector that had slots for two CM3 cards. One to use as a second CPU (i.e. PPC in current classic Amigas) and another to use as a virtual 68K ala FPGA or as a separate set of peripherals to harness from for the Amiga (i.e. RAM, USB, WiFi, Bluetooth, GPU, etc...).
The cards are so small that they should easily fit at an angle like most SIMMs on todays accelerators. They are also damn cheap.
-
Also for throughput, the HDMI, networking and other medium I/O seem like they'd have to be high speed (relative to the Amiga) and could carry data back and forth if not used for their originally intended purposes.
-
Back in the days there was Siamese...
http://amiga.resource.cx/exp/siamese
http://www.nightvzn.net/portfolio/web/amiga_monitor/archives/1_11html/siamese.htm
This old idea is *much* more appealing today, using for example Raspberry Pi :)
-
The Compute Module has the same form factor as a DDR2 SODIMM, so can be connected to Amiga buses.
What pins of that compute module will connect to what in the Amiga? There is not an exposed memory bus. There is a USB2, there is a number of GPIO, but nothing tha tI see as a good connection between them.
-
The GPIO pins are also connected to BCM ARM peripherals, for example i2c/spi etc.
SMI is one of these peripherals designed to connect to multiplexed address/data buses.
It can spit out some data at high speed, and a simple FPGA can then act as an interface to the 68K socket.
I'll post more on the fpgaarcade.com forum as I make progress.
Ah, I had overlooked SMI before. 16bit data, OK for 68000 socket I guess. I only see 6 address bits though. Can likely use other GPIOs for irq inputs. Am I missing something, or is it that limited?
-
I don't know if it is feasible, but it seems like video imagery could be used to transfer tons of data at high speeds. The imagery doesn't have to be sensibly viewable with the human eye, just be read and deconstructed for data. The covers data out from the CM3. The camera input could be a way to transmit data back to the CM3 from the Amiga. Again, I don't know if something like this is feasible, but it could be a potential hack.
Ultimately, I would imagine there might be a FPGA or other arbitrator on the physical board connecting the CM3 and the Amiga's edge connector. The FPGA/whatever could use more sane data transfer methods and bridge the physical pin disparity between the GPIO provided by the CM3 and the pins on the A1000/A500/A600/A1200 edge connectors.
-
Another port that is typically not used much - external floppy port. I used to have AmigaLink which gave ethernet-alike network using the floppy port, and it was darn nice.
The floppy port can provide more power than the parallel port but I don't think it would be enough to run a Raspberry Pi, certainly not a V3. I suspect the max transfer speed of a parallel port would be faster than the floppy port. Also, DE-23 connectors are hard to come by :)
There's a similar project for the Apple ][ called Apple2Pi: http://schmenk.is-a-geek.com/wordpress/?p=167. It uses a serial link to communicate between the Apple and a Pi at 115Kbps.
I think it would be much easier to build the higher level parts of this using a normal slow null model cable between the Amiga and Pi. The fast low level Parallel to GPIO protocol could be plugged in later.
I'd probably start by exchanging input events between the two machines so that a USB keyboard and mouse attached to the Pi can generate input events on the Amiga.
Cheers,
Andrew
-
The floppy port can provide more power than the parallel port but I don't think it would be enough to run a Raspberry Pi, certainly not a V3.
Well, I certainly would not expect to power it through the port. The parallel port also does not have enough power.
I suspect the max transfer speed of a parallel port would be faster than the floppy port. Also, DE-23 connectors are hard to come by :)
Fair points, but from experience, the parallel port sucks CPU power, whereas what happens on the floppy port can use DMA.
There's a similar project for the Apple ][ called Apple2Pi: http://schmenk.is-a-geek.com/wordpress/?p=167. It uses a serial link to communicate between the Apple and a Pi at 115Kbps.
Right. On Amiga, do not expect more than 57600 baud on the native serial port if you want it to work reliably, on many systems you may even have to drop lower, and CPU will be plenty busy too. Just about anything is better than using the serial port.
I think it would be much easier to build the higher level parts of this using a normal slow null model cable between the Amiga and Pi. The fast low level Parallel to GPIO protocol could be plugged in later.
Well, I already have null-modem, even wireless null modem using bluetooth, any of my Amiga systems can connect to a linux box with bluetooth, that offers PPP and shell login. But working over the serial line really sucks CPU and is very slow. Currently, the best ways to connect a Pi right now, is ethernet, using either PCMCIA or Plipbox. The serial is ok for having the boot console of the Pi though, and "light" data transfers now and then.
I'd probably start by exchanging input events between the two machines so that a USB keyboard and mouse attached to the Pi can generate input events on the Amiga.
I think that is possible already, I did something like that 15-20 years ago, and I suspect I was using this... http://aminet.net/package/comm/tcp/netinput37.3 :)
-
There is an ARM Linux version of AROS completed by Michael Schulz. I even donated 5 quid to it myself. Maybe that would be a source of drivers. https://power2people.org/projects/arm/ indicates that it's only Phase 1 of the bounty if somebody wanted to drum up another bounty, much of the work of a native port to the RasPi is already done.
Update:
AROS Broadway commercial distribution of ARM Aeros hosted on Linux is at http://www.ares-shop.de/product_info.php?products_id=66 .