+FarmerPotato Posted September 15, 2020 Share Posted September 15, 2020 Has anyone done this before? Would it work? Two pages of partial bitmap mode, swapped by changing VR3 and VR4. The idea is to use a pattern table mask, restricting it to the 1st third only. The pattern table is filled with F0, which gives fat pixels, like in Rasmus' Raycaster. The color table is as usual. However, the top third of the color table is static, filled with F0. The other 2/3s are what is updated on each frame. To flip pages, you swap the pattern and color table addresses in VR3 and VR4 (leaving masks unchanged.) This gives you two buffers for the bottom two thirds of the screen. The top third is, alas, transparent and white bars--so set the screen color to white. There is no way to reserve part of the pattern table for alphanumeric patterns, because it would double as its own color table. You could however cut off 2 columns, reserving 16 chars. Make one solid, one transparent. Use this to blank out the top third, and sidebars. You could draw block letters or numbers in white and transparent. You can still define all the sprites. Am I understanding the undocumented modes correctly? VDP memory map 0000 F0 0800 color for page 1 middle third 1000 color for page 1 bottom third 2000 F0 2800 color for page 2 middle third 2000 color for page 2 bottom third Reference: http://www.unige.ch/medecine/nouspikel/ti99/tms9918a.htm#hybrid bitmap 1 Quote Link to comment Share on other sites More sharing options...
Asmusr Posted September 16, 2020 Share Posted September 16, 2020 I thought about using the technique you describe for the textured raycaster, but since the frame rate is low and the screen update is relatively fast I don't think it's worth the trouble. This demo was using the opposite technique. The colors are the same across the screen and the lower 2/3 patterns are double buffered. The stars at the top are sprites. 4 Quote Link to comment Share on other sites More sharing options...
+FarmerPotato Posted September 16, 2020 Author Share Posted September 16, 2020 13 hours ago, Asmusr said: I thought about using the technique you describe for the textured raycaster, but since the frame rate is low and the screen update is relatively fast I don't think it's worth the trouble. This demo was using the opposite technique. The colors are the same across the screen and the lower 2/3 patterns are double buffered. The stars at the top are sprites. Fantastic! I don't understand how the colors stay the same? Do they change after the patterns scroll 8 pixels? Quote Link to comment Share on other sites More sharing options...
Asmusr Posted September 16, 2020 Share Posted September 16, 2020 6 minutes ago, FarmerPotato said: Fantastic! I don't understand how the colors stay the same? Do they change after the patterns scroll 8 pixels? Yes they are scrolled, but that is by changing the name table only. Actually I wasn't using this technique for double buffering but as a way to double the number of available characters. The double buffering is on the name table. Quote Link to comment Share on other sites More sharing options...
Asmusr Posted September 16, 2020 Share Posted September 16, 2020 It would be interesting to try to use the double buffering of the color table for some vector graphics: Draw to a 4K buffer in CPU RAM, copy updated sections to VDP, and flip the buffers. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.