The textures would look better if you performed an ordered dither on them, not an error-diffusion dither (I'm guessing you did the standard floyd-steinberg). This is because with 640 pixels across and older/fuzzy monitors, ordered patterns blend together better. Also, they are stable across time, so any animated stuff will look better (for example, the doomguy head at the bottom will look cleaner between all animations frames, rather than having the "noise" change every time the picture changes).
Uh? The WAD file is preprocessed and I just replace every 256 color pixel stored as a byte by two 16 color pixels stored as two nibbles. For some more variety, during preprocessing some nibbles are swapped at random. This swapping is only done on wall textures, fonts and other static images. I tried it on enemy sprites etc, but it didn't look nice, like you say. I could turn the swapping of for the faces.
@@DookNookim The "random nybble swapping" is a form of dithering. I was suggesting you use an ordered (Bayer) dither instead of an error-diffusion (floyd-steinberg) dither during the pre-processing phase instead of random swaps.
No. First every 16 * 16 color combination in format 01010101 is written to video memory at 0xAC00. And then it uses write mode 1 to copy 8 pixels at a time.
Excellent, I needed something to play after Rescue Rover!
switching into 144p video quality is quite immersive
I really like watching this project develop!
Keep up the good work!😊
0_o wow
The textures would look better if you performed an ordered dither on them, not an error-diffusion dither (I'm guessing you did the standard floyd-steinberg). This is because with 640 pixels across and older/fuzzy monitors, ordered patterns blend together better. Also, they are stable across time, so any animated stuff will look better (for example, the doomguy head at the bottom will look cleaner between all animations frames, rather than having the "noise" change every time the picture changes).
Uh? The WAD file is preprocessed and I just replace every 256 color pixel stored as a byte by two 16 color pixels stored as two nibbles. For some more variety, during preprocessing some nibbles are swapped at random.
This swapping is only done on wall textures, fonts and other static images. I tried it on enemy sprites etc, but it didn't look nice, like you say. I could turn the swapping of for the faces.
@@DookNookim The "random nybble swapping" is a form of dithering. I was suggesting you use an ordered (Bayer) dither instead of an error-diffusion (floyd-steinberg) dither during the pre-processing phase instead of random swaps.
Is the scene (without HUD) being rendered in redefined hardware characters?
No. First every 16 * 16 color combination in format 01010101 is written to video memory at 0xAC00. And then it uses write mode 1 to copy 8 pixels at a time.