Amiga.org

Amiga computer related discussion => General chat about Amiga topics => Topic started by: nyteschayde on March 05, 2017, 08:24:49 AM

Title: Potential add-on board?
Post 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.
Title: Re: Potential add-on board?
Post by: nicholas on March 05, 2017, 03:25:42 PM
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.
Title: Re: Potential add-on board?
Post by: billt on March 05, 2017, 03:53:36 PM
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.
Title: Re: Potential add-on board?
Post by: Matt_H on March 05, 2017, 03:59:18 PM
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.
Title: Re: Potential add-on board?
Post by: Pat the Cat on March 05, 2017, 11:45:23 PM
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. :)
Title: Re: Potential add-on board?
Post by: Pat the Cat on March 05, 2017, 11:54:40 PM
Quote from: billt;823000
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.
Title: Re: Potential add-on board?
Post by: kolla on March 06, 2017, 01:10:31 AM
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 :)
Title: Re: Potential add-on board?
Post by: cunnpole on March 06, 2017, 12:47:29 PM
http://www.fpgaarcade.com/punbb/viewtopic.php?id=1221
Title: Re: Potential add-on board?
Post by: Pat the Cat on March 06, 2017, 02:00:32 PM
Quote from: kolla;823011
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
Title: Re: Potential add-on board?
Post by: kirk_m on March 06, 2017, 02:49:28 PM
Quote from: kolla;823011
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.
Title: Re: Potential add-on board?
Post by: EugeneNine on March 06, 2017, 02:51:48 PM
Quote from: Pat the Cat;823010
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.
Title: Re: Potential add-on board?
Post by: Pat the Cat on March 06, 2017, 07:08:30 PM
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.
Title: Re: Potential add-on board?
Post by: Lizard on March 06, 2017, 09:17:18 PM
@nyteschayde: You're not the only one thinking about that idea: http://www.fpgaarcade.com/punbb/viewtopic.php?id=1221
Title: Re: Potential add-on board?
Post by: mikej on March 06, 2017, 09:56:46 PM
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.
Title: Re: Potential add-on board?
Post by: nyteschayde on March 06, 2017, 10:36:51 PM
Quote from: billt;823000
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.
Title: Re: Potential add-on board?
Post by: nyteschayde on March 06, 2017, 10:41:50 PM
Quote from: Lizard;823035
@nyteschayde: You're not the only one thinking about that idea: http://www.fpgaarcade.com/punbb/viewtopic.php?id=1221
:) Great minds think alike?
Title: Re: Potential add-on board?
Post by: Pat the Cat on March 06, 2017, 11:11:33 PM
Quote from: mikej;823036
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.
Title: Re: Potential add-on board?
Post by: EugeneNine on March 07, 2017, 01:24:28 AM
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.
Title: Re: Potential add-on board?
Post by: Pat the Cat on March 07, 2017, 03:35:14 AM
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:
Title: Re: Potential add-on board?
Post by: mikej on March 07, 2017, 08:16:05 AM
Quote from: Pat the Cat;823039

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.
Title: Re: Potential add-on board?
Post by: kolla on March 07, 2017, 01:35:31 PM
Quote from: Pat the Cat;823027
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 :)

Quote
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

Quote
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 :)
Title: Re: Potential add-on board?
Post by: bwldrbst on March 07, 2017, 02:26:18 PM
Quote from: kolla;823011
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?

Quote from: kolla;823011
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:

Code: [Select]
[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
Title: Re: Potential add-on board?
Post by: kolla on March 07, 2017, 02:52:37 PM
Quote from: bwldrbst;823051
Do you set this up as a PPP or SLIP via the serial port?


PPP via serial or ethernet via PCMCIA (or plipbox).

Quote
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:

Code: [Select]

[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.
Title: Re: Potential add-on board?
Post by: Pat the Cat on March 07, 2017, 04:16:49 PM
Quote from: kolla;823050
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.
Title: Re: Potential add-on board?
Post by: nyteschayde on March 07, 2017, 09:58:22 PM
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.
Title: Re: Potential add-on board?
Post by: nyteschayde on March 07, 2017, 10:00:24 PM
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.
Title: Re: Potential add-on board?
Post by: kolla on March 07, 2017, 10:24:22 PM
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 :)
Title: Re: Potential add-on board?
Post by: billt on March 07, 2017, 11:31:39 PM
Quote from: Pat the Cat;823010
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.
Title: Re: Potential add-on board?
Post by: billt on March 07, 2017, 11:47:57 PM
Quote from: mikej;823046
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?
Title: Re: Potential add-on board?
Post by: nyteschayde on March 08, 2017, 03:55:25 AM
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.
Title: Re: Potential add-on board?
Post by: bwldrbst on March 08, 2017, 08:52:53 AM
Quote from: kolla;823052
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
Title: Re: Potential add-on board?
Post by: kolla on March 08, 2017, 10:18:24 PM
Quote from: bwldrbst;823073
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.

Quote
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.

Quote
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.

Quote
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.

Quote
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 :)
Title: Re: Potential add-on board?
Post by: SamuraiCrow on March 09, 2017, 09:16:40 AM
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 .