mcejp / VS2_RTL

VStation 2 Verilog Source Code
0 stars 0 forks source link

Implement VCR registers #3

Open mcejp opened 6 years ago

mcejp commented 6 years ago

Mainly BGCOL so that we don't have to be retarded.

mcejp commented 6 years ago

VS2_RTL will need to be rearchitected to draw pixel by pixel -> in RTL: split VRAM/framebuffer in memu: draw just into memory; update framebuffer by clock/2

mcejp commented 6 years ago

59.94 Hz refresh, 25.175 pixel clock, 50.350 cpu clock

420,000 pixel clocks / frame

mcejp commented 6 years ago

^ this is at 640x480, but we probably want to support multiple resolutions?

mcejp commented 6 years ago

1 Meg of VRAM allows 640x480x16 (614400) 320x240x24 would fit, but let's say the DAC is not that good and 16-bit color is the best that can be had

In lower-res modes, pixels and lines are simply doubled.

Configuration:

Global:

Per layer:

Pixel data is fetched every D pixels, always as 16-bit. Color is chosen according to palette[data & K] if PE else data & {K, 8'hFF} Every pixel, if there is no fetch, data is updated as data = data >> B If P <> 1, all this processing is only done every P-th pixel.

Examples:

mcejp commented 6 years ago

Only 1 layer for now + BGCOL

mcejp commented 6 years ago

DRAM yes or no? Need to decide now. Look at HW schematics.

Proposal: NO for now, to simplify.

mcejp commented 6 years ago

Use SDRAM; transparent to programmer.