25 April 2019, 18:38 | #21 |
Registered User
Join Date: May 2013
Location: Grimstad / Norway
Posts: 849
|
So you have taken an interesting idea and run with it. Can I ask your opinion on something I have tried "shopping around" many many years back:
Could you imagine an A4000 cpu card with a connector cable to the chipram SIMM slot on the motherboard? Basically putting something like 2M SRAM on board and force the addressing to go locally and not to the chipmem bus? (Hitting the replacement chipmem as fast as you can while still serving data over the SIMM slot.) |
25 April 2019, 18:47 | #22 |
Registered User
Join Date: Oct 2017
Location: St. Louis, MO, USA
Posts: 60
|
This is so cool!
|
25 April 2019, 19:10 | #23 |
Not enough time
Join Date: Dec 2014
Location: England
Posts: 67
|
Internet radio would be quite cool
|
25 April 2019, 21:37 | #24 | |
Happy Registered User
Join Date: Apr 2009
Location: Stockholm, Sweden
Posts: 101
|
Quote:
In order to see a real performance boost, you would probably need to re-create your own faster versions of the custom chips, in a FPGA for instance. Because if you just overclock the existing ones, you'll run into all sorts of timing related issues (like illegal video timings etc.). So, if you choose to go down that route (New CPU board, new custom chips, new ways of accessing the memory) you might just as well do a new Amiga model |
|
25 April 2019, 22:34 | #25 |
Registered User
Join Date: Apr 2019
Location: Kent, UK
Posts: 7
|
Fantastic project! Just ordered some PCBs, can't wait to get one up and running!
|
25 April 2019, 23:13 | #26 |
Registered User
Join Date: Oct 2017
Location: St. Louis, MO, USA
Posts: 60
|
Quick question, does it work with Vampire?
|
25 April 2019, 23:16 | #27 |
Banned
Join Date: Nov 2007
Location: Trondheim, Norway
Posts: 1,893
|
|
25 April 2019, 23:28 | #28 |
Registered User
Join Date: Oct 2017
Location: St. Louis, MO, USA
Posts: 60
|
|
26 April 2019, 01:35 | #29 |
Registered User
Join Date: Sep 2007
Location: Melbourne/Australia
Posts: 4,406
|
This is pretty cool, nice to see something different in the Amiga space
|
26 April 2019, 04:22 | #30 | |
Registered User
Join Date: Mar 2018
Location: Brisbane/Australia
Posts: 72
|
Quote:
At least for the external storage piece I suspect that the "PiDisk - A remote file system that resides on the RPi, and can be further shared from that platform using for instance SMB." software could do this. For Mouse and Keyboard, it may be worth taking advantage of the bluetooth capability of the Pi otherwise you need to snake cables through the trapdoor or something but there would most likely be a need to develop the software to make it work and this might suggest that it would really only work for system friendly software. ----- One of my questions is how does the solution deal with asynchronous boot sequencing/timing of the Pi and Amiga? I imagine you need to kick off a task/thread to poll/wait for contact with the other device. |
|
26 April 2019, 08:24 | #31 |
Registered User
Join Date: Apr 2018
Location: Stockholm / Sweden
Posts: 129
|
|
26 April 2019, 08:26 | #32 |
Banned
Join Date: Nov 2007
Location: Trondheim, Norway
Posts: 1,893
|
Good question, though my experience is that the pi is up and running before the Amiga even has figured out what device to boot from.
|
26 April 2019, 08:46 | #33 | |
Registered User
Join Date: Apr 2018
Location: Stockholm / Sweden
Posts: 129
|
I don't know the answer to that I'm afraid as it hasn't been tested.
Quote:
For keyboard and mouse there is no software support today, but it could be written. |
|
26 April 2019, 09:10 | #34 | |
Happy Registered User
Join Date: Apr 2009
Location: Stockholm, Sweden
Posts: 101
|
Quote:
The time spent during floppy access on the Amiga, is enough for the RPi to boot up and start the A314 daemon which in turn launches the PiDisk filesystem. This is of course primarily a concern for cold boot situations; a warm boot (Ctrl-A-A Reset) does not affect the RPi, so in those situations the A314 daemon is already available. |
|
26 April 2019, 09:21 | #35 |
Registered User
Join Date: Apr 2019
Location: Kent, UK
Posts: 7
|
I've ordered parts to build up two of them, but will have some spare PCBs available for sale if anyone else wants to build their own. Should be somewhere around £12-£15 GBP per board (4 layer boards so a bit pricier than normal).
|
26 April 2019, 09:42 | #36 | |
Registered User
Join Date: Apr 2018
Location: Stockholm / Sweden
Posts: 129
|
Quote:
First, you should know that the trapdoor expansion has essentially two buses going through it: a DRAM bus, and an RTC bus. The A314 looks like regular DRAM memory and RTC chip to the Amiga, but the RTC bus is also slightly subverted. If a particular bit in a particular RTC register is toggled then the RTC emulation switches bank to a new set of A314 registers that only the a314.device knows about. These registers are known as CMEM registers. CMEM registers can hold information, but some of them are also involved in controlling interrupts. On the Amiga side: - When a program on the Amiga wants to communicate with the RPi it loads a314.device (after that a314.device remains in memory until reboot). - When a314.device loads it allocates a block of MEMF_A314 memory, i.e. memory on the board that can be accessed by the RPi. This block of memory is called the "communication area". - a314.device writes the address of the communication area (the base address) to a set of CMEM registers (each CMEM register is 4 bits, so 5 CMEM registers are used to store the base address). - a314.device writes to CMEM registers to interrupt the RPi to notify that the base address has been written. This interrupt may not be seen by the RPi if the RPi has not booted yet. - When the program on the Amiga wants to connect to a service on the RPi, it calls a314.device, which writes a CONNECT packet to the com-area, and then generates an interrupt notifying the RPi that a packet has been written. Again, this interrupt may not be seen if the RPi hasn't booted yet. - The program (via a314.device) waits until it receives a CONNECT_RESPONSE packet back from the RPi. - Each program that connects to a service allocates a separate logical channel that are multiplexed over the shared communication channel, so there can be many outstanding connect requests. On the RPi side: - When the RPi boots up, systemd will start a314d as a service (daemon). - a314d will read the base address from CMEM registers (via the SPI bus). - If a base address had been written then a314d will know where the communication area is, otherwise it'll just wait until it gets interrupted with a notification that the base address has been written. - Once a314d knows where the com-area is, a314d will read the queue pointers to see if the Amiga has sent it a packet. - If a packet has been written to the com-area it will be read and processed. If the packet is a CONNECT packet, a314d will see which service is being connected to; there is a table of services that are registered, and this table also contains information so that a service can be loaded on demand if it wasn't started yet. In this sense, a314d is a bit like inetd, a super-daemon. - A CONNECT_RESPONSE is sent back to the Amiga, by writing the packet to the communication area and then writing to CMEM registers to generate an interrupt at the Amiga. This way, if the Amiga boots up first a314.device will write request packets for the RPi and then wait until response packets are available, and then later when the RPi boots it will see those request packets and respond to them. If the RPi boots up first it will see that the Amiga hasn't booted yet (no base address has been written) and simply wait until it is interrupted with a notification that the base address has been written. Last edited by Niklas; 26 April 2019 at 10:52. |
|
26 April 2019, 12:08 | #37 |
Used Register
Join Date: Jul 2018
Location: Liverpool
Age: 41
Posts: 437
|
This project is incredible, and i'll be printing some PCBs this month for sure...
A quick question: The Pi has direct access to the chip ram, is that right? Okay so iirc fastram or no, the graphics rendering on the Amiga is via chipram? So on the Pi side, would a developer be free to tinker around with that ram to achieve whetever visual effects they're interested in on the Amiga side? Where i'm going with this, is the ability to start work on something that would essentially render a windowed Pi native app on the workbench screen - such as a chat client or a web browser. Perhaps even development into something akin to the ECS indy? Which I believe also has direct memory access. Maybe a bit more hardware would be required for this, but the point is that the access would be there to develop with - or even monitor the actual memory in realtime using the Pi video out? Am i talking out of my ass here? lol John |
26 April 2019, 12:55 | #38 | ||||||
Registered User
Join Date: Apr 2018
Location: Stockholm / Sweden
Posts: 129
|
Quote:
The Pi has direct access to the memory that sits on the A314. Whether this is chip mem or slow mem depends on which revision of Agnus chip is in your A500. Have a look at this table: https://en.wikipedia.org/wiki/MOS_Te..._by_capability Also, if you have a 1MB Agnus you might have to do the mod as explained here, http://www.amibay.com/showthread.php...ll=1#post49241, to let Agnus use the trapdoor expansion memory as chip memory. Quote:
Quote:
Quote:
Quote:
Quote:
Haha not at all, you have some great ideas. |
||||||
26 April 2019, 13:53 | #39 |
Banana
Join Date: Jul 2016
Location: Darmstadt
Posts: 1,214
|
An AHI-compatible sound card would be amazing, if you're accepting feature requests!
|
26 April 2019, 14:21 | #40 |
Registered User
Join Date: Mar 2018
Location: Brisbane/Australia
Posts: 72
|
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Rygar AGA Edition - Official Bugs thread | DamienD | Coders. Contest | 68 | 12 April 2022 18:43 |
Has anyone tried to mount a rpi zero inside A520 modulator? | balrogsoft | Amiga scene | 4 | 06 December 2016 14:52 |
Clockport can be used like RPI GPIO port? | mags | Amiga scene | 4 | 15 September 2014 15:02 |
PeterK's IconLib Official Thread | Foul | support.Apps | 194 | 29 July 2011 09:47 |
The Official "Newly Aquired Games" thread | StarEye | project.SPS (was CAPS) | 42 | 24 February 2006 01:33 |
|
|