Well, it's not entirely NES related, but I thought I'd post a bit about this anyways since there might be some interested in it.
A few weeks ago, I created an FPGA mandelbrot set / julia set rendering engine on the FPGA. It produces real time sets which you can zoom and pan via an NES or SNES controller. I have a video of it in action here:
http://www.youtube.com/watch?v=KWmxb-9vjyA
The thing uses two verilog files; a "rendering core" which is mandelbrot.v, and the main controller which coordinates the cores and ouputs pixels which is video.v.
And to keep it somewhat NES related, it uses 6502 code to calculate the coordinates and step size. My arbitrary bit size math functions might be useful for NES games. I dunno. (source for these is below)
Anyways, have fun with it, and if you get it going on an FPGA board I would like to see the output. If a larger FPGA is used, more rendering cores can be easily dropped in to speed it up even more, though with 7 it is pretty fast and can typically pull 10-25fps or so without a problem.
If more cores are used, it could theoretically output a higher resolution with the same framerate but more mods would have to be done. Right now, it's NES resolution naturally. (256*240)
If you wish to play around with it, here is how to use it:
The video.v file instantiates mandelbrot.v, and it outputs pixels to a frame buffer. The video.v outputs addresses and RGB pixel data, 4 pixels at a time. So to use it, you need to make a small frame buffer object using a synchronous SRAM (which are included on almost all of the FPGA dev boards).
anyways, here is the source code:
http://blog.kevtris.org/blogfiles/mandelbrot.v
http://blog.kevtris.org/blogfiles/video.v
http://blog.kevtris.org/blogfiles/MANDEL.ASM
have fun. If there's some interest I might be persuaded to release other code sometime.
A few weeks ago, I created an FPGA mandelbrot set / julia set rendering engine on the FPGA. It produces real time sets which you can zoom and pan via an NES or SNES controller. I have a video of it in action here:
http://www.youtube.com/watch?v=KWmxb-9vjyA
The thing uses two verilog files; a "rendering core" which is mandelbrot.v, and the main controller which coordinates the cores and ouputs pixels which is video.v.
And to keep it somewhat NES related, it uses 6502 code to calculate the coordinates and step size. My arbitrary bit size math functions might be useful for NES games. I dunno. (source for these is below)
Anyways, have fun with it, and if you get it going on an FPGA board I would like to see the output. If a larger FPGA is used, more rendering cores can be easily dropped in to speed it up even more, though with 7 it is pretty fast and can typically pull 10-25fps or so without a problem.
If more cores are used, it could theoretically output a higher resolution with the same framerate but more mods would have to be done. Right now, it's NES resolution naturally. (256*240)
If you wish to play around with it, here is how to use it:
The video.v file instantiates mandelbrot.v, and it outputs pixels to a frame buffer. The video.v outputs addresses and RGB pixel data, 4 pixels at a time. So to use it, you need to make a small frame buffer object using a synchronous SRAM (which are included on almost all of the FPGA dev boards).
anyways, here is the source code:
http://blog.kevtris.org/blogfiles/mandelbrot.v
http://blog.kevtris.org/blogfiles/video.v
http://blog.kevtris.org/blogfiles/MANDEL.ASM
have fun. If there's some interest I might be persuaded to release other code sometime.