Electronics > FPGA

FPGA VGA Controller for 8-bit computer

<< < (631/668) > >>

BrianHG:
Ok, show me something good...

nockieboy:
Okay, nothing interesting to show yet - I haven't had much time to sit and write a demo for the new tile/layer capabilities, but I'll have something soon(-ish).

In the meantime, I've been trying to fix a problem with changing modes.  I have three modes - the default (Mode 0) 720x480 which works fine.  Mode 1 is 1280x720 and Mode 2 is 1920x1080.  Switching to either Mode 1 or Mode 2 causes graphical problems on the screen.  The video mode is updating correctly, the HW_REGs are being updated according to the current mode, but what I'm seeing on the screen doesn't correlate.  Here's an image of Mode 1 - it should be a clear screen with a yellow vertical line running down the right edge.



Instead, the area of the screen being cleared appears to be only 720x480.  The DMI uses GEOFF to clear the screen and the screen width and height are recalculated during mode changes.  I've dumped the HW_REGs values in the screenshot so you can see how the screen is being set up.  If I try to draw lines, circles, triangles etc with GEOFF, they aren't drawn outside of the 720x480 limits.  Before I pull too many hairs out, this isn't an issue with GEOFF is it?

Oh, before you point out the obvious, the line is drawn at the limits of what is visible - I've tried drawing from 1279,0 to 1279,720 and nothing shows up.  It looks like GEOFF really doesn't want to go outside 720x480.

The very bottom of the 'screen' also seems to be offset to the right slightly and at the top of the real screen, as you can see with the yellow line fragment.

BrianHG:
What is the @SET_MAX_XY limiter set to in the GEOFF?

nockieboy:

--- Quote from: BrianHG on January 24, 2022, 05:49:26 pm ---What is the @SET_MAX_XY limiter set to in the GEOFF?
--- End quote ---

Ah yes, thanks - that was it.  :-+

BrianHG:

--- Quote from: nockieboy on January 24, 2022, 06:59:22 pm ---
--- Quote from: BrianHG on January 24, 2022, 05:49:26 pm ---What is the @SET_MAX_XY limiter set to in the GEOFF?
--- End quote ---

Ah yes, thanks - that was it.  :-+

--- End quote ---
Remember, if you are using the GPU ram for CPU code or even GPU instructions as well, without any type of limiter for the geometry unit, carelessly drawing a line or rectangle somewhere will erase your code.  In under a second, you can erase you entire entire Z80 4mb.  (More like 3 seconds to erase all 512mb if you ever get around to re-doing the pixel-writer and optimize it for 128bit access.)

Navigation

[0] Message Index

[#] Next page

[*] Previous page

There was an error while thanking
Thanking...
Go to full version