Links| Forums| Comments| Report news
Chat| Polls| Newsticker| Archive

[Login] [Register] [Forgot your password??]

< Next messagePrior message >

Hardware extension: "A314" adds internal Raspberry Pi to A500
Niklas Ekström has developed a FPGA-based adapter board which allows you to connect a Raspberry Pi to the internal extension port of the Amiga 500. The Verilog source code, the source codes of the Amiga and Linux software as well as the design for the "A314" board are available at Github under a free license.

The Raspberry Pi makes 0,5 or 1 MB of its main memory available to the A500 depending on the used Agnus revision as chip or slow RAM. Both computers access this memory for exchanging data. Additionally there is a communication channel which both systems can use for poiting out to incoming data. A battery backed real time clock the A314 emulates as well. What tasks the software is to handle :
  • a314fs: is a file system that is mounted in AmigaDOS as a device, PI0:.
  • pi: is a command that lets you invoke executables on the RPi from the AmigaDOS CLI. For example, if your current working directory is on PiDisk: and you run "pi vc hello.c -o hello", then the vc program (the VBCC cross-compiler) is executed on the RPi with the given arguments. It will cross-compile "hello.c" into the Amiga executable file "hello". The resulting binary is immediately accessible through the a314fs.
  • PiAudio: lets the RPi stream audio samples directly to the shared chip memory, from where Paula plays those samples. PiAudio is integrated with ALSA on the RPi so that any program that plays audio through ALSA can be used, i.e. "pi mpg123 -a amiga song.mp3" plays song.mp3 using the program mpg123 to the Amiga.
  • VideoPlayer: is a simple program that displays a sequence of images on the A500 by letting the RPi write bitplanes directly to the shared memory (this again requires that the A314 memory is chip memory, and not "ranger" memory).
  • RemoteWB: works by moving the Workbench bitplanes over to the chip memory on the A314. This requires that the A500 has at least a 8372 Agnus. During drawing of each frame on the Amiga, the RPi reads those bitplanes, encodes them into a GIF image, and transmits that image to a web browser through a web socket. The web browser in turn, returns key presses and mouse movements back to the Amiga through the same web socket. In effect, this becomes a web browser based remote control application, comparable to VNC but with near zero performance impact on the Amiga CPU!

In future Networking is planned either through a bsdsocket.library implementation that forwards socket operations to the RPi and executes those operations there (high degree of offloading), or a Sana II driver used with a full network stack (lesser, but still offloading). (cg) (Translation: dr)

[News message: 15. Nov. 2019, 00:19] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
< Next messagePrior message >

Masthead | Privacy policy | Netiquette | Advertising | Contact
Copyright © 1997-2019 by - all rights reserved.