Block Clear\Fill VRAM

If you have feature requests, this is the place to post them. Please note your idea may already be something we have already discussed and decided against, or something we are working on privately, and we cannot be held responsible for any similarities in such instance. Whilst we cannot respond to every suggestion, your idea will be read and responded to where possible. Thank you for your input!
Post Reply
User avatar
Yazwho
Posts: 167
Joined: Fri Feb 19, 2021 2:59 pm
Contact:

Block Clear\Fill VRAM

Post by Yazwho »


I know you're very far along when it comes to the design and implementation of the VERA sub-system. However I figure I'd throw this out just in case.

Is there any chance block clear\fill functionality could be included so we can clear out blocks of VRAM?

Right now the bitmap mode has considerable limitations as we can't just clear the previous frame without resorting to a pixel by pixel approach. It will sadly mean this mode is left to mostly showing static images.

One possibility would be to add a bit to the CTRL register, so if set when we write to DATA0 it could fill the 256 bytes at ADDR_H, ADDR_M with the value. (As a programmer, obv I'd prefer something even quicker! ?

It would open up the possibility to do something a little inventive with the mode.

Lorin Millsap
Posts: 193
Joined: Wed Apr 29, 2020 6:46 pm

Block Clear\Fill VRAM

Post by Lorin Millsap »

The VERA is basically finished. There are no plans to add new features to it.


Sent from my iPhone using Tapatalk
User avatar
Yazwho
Posts: 167
Joined: Fri Feb 19, 2021 2:59 pm
Contact:

Block Clear\Fill VRAM

Post by Yazwho »


Ah well, worth an ask. Bit of a shame to have to mostly stick to tile modes.

 

x16tial
Posts: 177
Joined: Sun Feb 07, 2021 8:23 pm

Block Clear\Fill VRAM

Post by x16tial »


Edited: I just realized you did that cool demo, you're obviously not developing in BASIC.  But yeah, Screen RAM can be pretty efficiently filled/cleared in assembly, let me know if you need any tips.

But yeah, perhaps that even isn't fast enough for what you want to do.  But with 2 channels and auto incrementing, there might be possibilities.

User avatar
Yazwho
Posts: 167
Joined: Fri Feb 19, 2021 2:59 pm
Contact:

Block Clear\Fill VRAM

Post by Yazwho »



1 hour ago, x16tial said:




Edited: I just realized you did that cool demo, you're obviously not developing in BASIC.  But yeah, Screen RAM can be pretty efficiently filled/cleared in assembly, let me know if you need any tips.



But yeah, perhaps that even isn't fast enough for what you want to do.  But with 2 channels and auto incrementing, there might be possibilities.



It means for anything you do, say plot a cube, you have to essentially draw it twice every frame as you need to blank out the previous render. Really expensive. I guess it's pretty limited given the size of vram, but still.

I still have hope though, even if the code is frozen for release (which makes total sense), the 'P' part of FPGA means it can be changed in the future, so maybe post release some functionality will be added.

x16tial
Posts: 177
Joined: Sun Feb 07, 2021 8:23 pm

Block Clear\Fill VRAM

Post by x16tial »


I'll fully admit to not being an expert here.  But I think the VERA has enough memory to double buffer the 1bpp 640x480 bmp mode.   Does that still not work for the frame rate you're trying to achieve?

SlithyMatt
Posts: 913
Joined: Tue Apr 28, 2020 2:45 am

Block Clear\Fill VRAM

Post by SlithyMatt »


You have enough VRAM to do double buffering in 2bpp mode. If you want to make a game with 3D rendering, 4 colors is your limitation. Otherwise, you can make your own 3D graphics expansion card or... just get a Raspberry Pi.

Elektron72
Posts: 137
Joined: Tue Jun 30, 2020 3:47 pm

Block Clear\Fill VRAM

Post by Elektron72 »



6 minutes ago, SlithyMatt said:




You have enough VRAM to do double buffering in 2bpp mode.



Wouldn't double-buffered 2bpp 640x480 mode require 153600 bytes, when we only have 131072 in VRAM (including palette and sprite registers)? Please tell me if I calculated this wrong; I would be happy to realize that there is in fact more VRAM than I thought.

 

x16tial
Posts: 177
Joined: Sun Feb 07, 2021 8:23 pm

Block Clear\Fill VRAM

Post by x16tial »


I calculate that it would take 150k to double buffer 640x480x2bpp... am I missing something?  But I'm also wondering how helpful it is to say "just get a Raspberry Pi", when of course that's always an option, along with myriad other platforms, including PC's, when what I'm thinking the purpose of this discussion is to figure things out on *this* platform, the X16.

SlithyMatt
Posts: 913
Joined: Tue Apr 28, 2020 2:45 am

Block Clear\Fill VRAM

Post by SlithyMatt »


I should have clarified. I meant at 320x240. Full resolution is not what you are going to use for most games.

Post Reply