costarc / MSXPi

Interface for MSX to Connect and use Raspberry Pi resources
MIT License
79 stars 20 forks source link

Feasibility of GPU-like behavior #52

Open jbikker opened 11 months ago

jbikker commented 11 months ago

Hi,

I would like to investigate the possibility of using your project as a basis for a simple GPU. The idea is as follows:

  1. MSX triggers rendering a frame on the pi using io ports
  2. pi renders the frame using a software rasterizer
  3. pi translates the frame to MSX data: layout table and pattern table (GRAPHIC3)
  4. pi makes this data available as 'ROM data' to MSX
  5. MSX reads the data and copies it to VRAM
  6. MSX outputs the frame.

I can imagine that bandwidth and such may be challenging, but apart from that, would this be possible? My main concern is: could a ROM that your device feeds to the MSX be modified 'live' by the pi? And, if this data is double buffered, would it be possible to synchronize the process between MSX and pi in a somewhat efficient manner?

Feel free to contact me at bikker.j at gmail.com, would love to discuss this in more detail.

costarc commented 2 weeks ago

This project will not support this, as the communication is over serial protocol (spi bitbang), therefore not optiized for high throughput required for video applications. It can be used a co-processor, when a high number of calculations would be required - then sending to MSXPi and receiving the reply with result would be faster than processing by the Z80 itself.