drac030 Posted September 29, 2020 Share Posted September 29, 2020 After this little discussion: it came to my mind that it should be fairly easy to reproduce this effect using mostly VBXE blitter with little CPU intervention, also making it moving. The result is attached (the archive also contains the source code @tschak909). PS. One of the darkest shades of grey looks blueish. A bug probably. PS. 2. On Altirra the movement does not look smooth, on real hardware it does. I do not know, why. landvbxe.arc 3 1 Quote Link to comment Share on other sites More sharing options...
zbyti Posted September 29, 2020 Share Posted September 29, 2020 (edited) For convenience COM below LANDVBXE.COM Edited September 29, 2020 by zbyti 1 Quote Link to comment Share on other sites More sharing options...
+JAC! Posted September 29, 2020 Share Posted September 29, 2020 Nice! Quote Link to comment Share on other sites More sharing options...
phaeron Posted October 1, 2020 Share Posted October 1, 2020 On 9/29/2020 at 5:50 AM, drac030 said: After this little discussion: PS. 2. On Altirra the movement does not look smooth, on real hardware it does. I do not know, why. It is as smooth as it can get for me, given that in PAL the emulator needs to resample from 50Hz to 60Hz. In NTSC, it is overrunning the frame and dropping to 30Hz due to the huge scroll blit: By my reckoning VBXE only just barely has enough memory bandwidth to brute-force scroll a 320x240 SR screen in NTSC and not enough to do further rendering. There are 114 * 8 * 262 = 238,944 local cycles per frame, of which 153,600 are needed for the blit and 76,800 are needed for display (overlay) DMA. 153,600 + 76,800 = 230,400, with 8,544 local cycles left over. It might actually be faster to redraw the entire landscape from scratch with a large blit list of lines since the blitter can fill at 1 cycle/byte vs. copy at 2c/b. Hardware scrolling would be much faster than either, though. 1 Quote Link to comment Share on other sites More sharing options...
drac030 Posted October 1, 2020 Author Share Posted October 1, 2020 (edited) 8 hours ago, phaeron said: It is as smooth as it can get for me Whenever I run Altirra, I run it in a window, and it is not smooth then. I forgot about the full-screen option. Running full-screen it is as smooth as on my Atari, so everything is right in this point. 8 hours ago, phaeron said: In NTSC, it is overrunning the frame and dropping to 30Hz due to the huge scroll blit So it seems I have accidentally created my first PAL-only program (also somehow forgetting at that moment that NTSC exists and the blitter may indeed run out of frame cycles doing the blits). 8 hours ago, phaeron said: Hardware scrolling would be much faster than either, though. Are hardware scrolls available in VBXE pixel modes at all? The documentation seems to speak of them only as of a feature available in the texmode, but perhaps I get this wrong. Edited October 1, 2020 by drac030 1 Quote Link to comment Share on other sites More sharing options...
Rybags Posted October 1, 2020 Share Posted October 1, 2020 (edited) You don't really need hardware type scrolling in the bitmap modes. Firstly since it's a byte per pixel there's no fractional value to worry about. Secondly, the XDL allows you to specify start address of the bitmap and increment value per scanline with little limitation. So without too much work you could implement scrolling as a measure to free up blit cycles. Edited October 1, 2020 by Rybags 1 Quote Link to comment Share on other sites More sharing options...
drac030 Posted October 1, 2020 Author Share Posted October 1, 2020 That is true, one could just draw with the blitter and change the display memory location within a 150k buffer. But I will rather not update the program further, it was just a toy for one evening (and next morning), and even at 30 Hz it looks good enough in NTSC (I just checked in emulator). So maybe someone else will implement it better, either from scratch or basing on the source attached to post #1. 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.