From: robfi680@gmail.com   
      
   On 2025-11-02 3:58 p.m., BGB wrote:   
      
   >   
   > No real need to go much beyond RGB555, as the FPGA boards have VGA DACs   
   > that generally fall below this (Eg: 4 bit/channel on the Nexys A7). And,   
   > 2-bit for many VGA PMods (PMod allowing 8 IO pins, so RGB222+H/V Sync;   
   > or needing to use 2 PMOD connections for the VGA). The usual workaround   
   > was also to perform dithering while driving the VGA output (with ordered   
   > dither in the Verilog).   
   >   
      
   I am using an HDMI interface so the monitor is fed 24-bit RGB digitally.   
   I tried to get a display channel interface working but no luck. VGA is   
   so old.   
      
   Have you tried dithering based on the frame (temporal dithering vs   
   space-al dithering)? First frame is one set of colors, the next frame is   
   a second set of colors. I think it may work if the refresh rate is high   
   enough (120 Hz). IIRC I tried this a while ago and was not happy with   
   the results. I also tried rotating the dithering pattern around each frame.   
      
      
      
   > Generally, the text mode operates in a 640x200 mode with 8x8 + 128b   
   > cells, so 32K of VRAM used (for 80x25 cells).   
   >   
   For the text mode 800x600 mode is used on my system, with 12x18 cells so   
   that I can read the display at a distance (64x32 characters).   
      
   The font then has 64 block graphic characters of 2x3 block. Low-res   
   graphics can be done in text mode with the appropriate font size and   
   block graphics characters. Color selection is limited though.>   
   > In this case, a 40x25 color-cell mode (with 256-bit cells) could be used   
   > for graphics (32K). Early on, this was used as the graphics mode for   
   > Doom and similar, before I later expanded VRAM to 128K and switched to   
   > 320x200 Hicolor.   
   >   
   >   
   > The bitmap modes are non-raster, generally with pixels packed into 8x8   
   > or 4x4 blocks.   
   > 4x4:   
   > 16bpp: pixels in raster order.   
   > 8bpp: raster order, 32-bits per row   
   > 4bpp: Raster order, 16-bits per row   
   > And, 8x8:   
   > 4bpp: Takes 16bpp layout, splits each pixel into 2x2.   
   > 2bpp: Takes 8bpp layout, splits each pixel into 2x2.   
   > 1bpp: Raster order, 1bpp, but same order as text glyphs.   
   > With MSB in upper left, LSB in lower right.   
   >   
      
      
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   
|