|
Post by hydrophilic on Jul 12, 2014 7:09:38 GMT
Ah, which version works without being jerky? I thought I tried them all and none worked. (I'm also using flat C128)
|
|
|
Post by donno128 on Jul 12, 2014 20:17:00 GMT
version 2.5, the colorsroll.prg version... the scroll itself moves smoothly to the left if you follow it with your eyes; you can see that the "jerkiness" is actually flashing of the previous character in that position. Or maybe I am just seeing it wrong.
|
|
|
Post by hydrophilic on Jul 12, 2014 22:30:07 GMT
Yeah, I know what you mean. It scrolls left smoothly, but then for a brief time (like one frame) it snaps back one full character (to the right) before the text is redrawn in the correct position (one char to the left). I set a background color change to see how long the text copy takes, and it is a fairly brief time... nowhere near a full frame.
|
|
|
Post by VDC 8x2 on Jul 13, 2014 2:05:30 GMT
sei ;don't want to be interupted ldx #$19 jsr VDCPEEKREG and #%11110000 ora smooth sta vdcdat ;scroll left jsr smooth cli ;done so release interupts
What if the jsr to smooth is after the scroll?. hmm I need to recompile it and test it that way...
|
|
|
Post by Pyrofer on Mar 24, 2016 18:02:18 GMT
So, tested on a flat C128 (PAL) with VDC Version 1 and upgraded 64k VRAM.
Pretty much all three do the same thing.
They appear to work, however the "flickering" to the right is quite visible. So I get text scrolling from right to left, the colours and attributes work (in scroll2 and colorscroll).
So other than the flickering to the right, all three "work" on my flat 128.
|
|
|
Post by hydrophilic on Mar 31, 2016 2:45:29 GMT
Yeah, the flickering is the real mystery here! There is no obvious cause for this when looking at the code, and VICE doesn't "see it" either. My little camera general only captures 15fps for video. Even if went 30fps, I think this is something that require 60fps capture rate to really nail the problem down...
Or, if I find the time (as if), write a stable-raster-IRQ for the VDC... then I could try things like two rows, each with different scroll values. A simple photo then might reveal exactly what the VDC is *really* doing when you reset the scroll register (as opposed to what VICE, and apparently the rest of humanity, *thinks* should happen).
Strange this is such an old thread which has yet to be solved... that VDC sure is one magical black box!
|
|
|
Post by Pyrofer on Apr 4, 2016 16:30:10 GMT
I get the feeling the smooth scroll feature is actually bugged in the VDC hardware. Has anybody tried smooth scrolling vertically yet? It would be interesting to see of both axis had the same issue, or indeed of scrolling in the other direction caused it too.
I was just toying with the idea of a vertical scrolling shooter. If I can get block copy to move the screen down quick enough and add new pixels at the top I think I could manage with 2*8 or 2*16 colour cells for speed.
The real problem comes with the lack of logical operators on the block copy so placing your character, enemies or bullets will be a PITA.
|
|
|
Post by VDC 8x2 on Apr 4, 2016 18:34:14 GMT
I have been thinking, maybe you have to shorten the visual resolution like you do on a VICII to eliminate the stuttering of scrolling.
|
|
|
Post by Pyrofer on Apr 4, 2016 18:51:23 GMT
Correct me if I am wrong but I thought that was just to hide the edges so you don't see the new character suddenly appear on the VIC-II ? Nothing to do with the actual scrolling at all, just a cosmetic bodge to make things look nicer.
|
|
|
Post by Pyrofer on Apr 6, 2016 21:13:17 GMT
So. I spent the day playing with scrolling. I can scroll a monochrome bitmap easily and fairly quickly. I wanted colour. Now I have 2 options, either go for 8x2 mode and scroll 2 pixels at a time (faster, less smooth) or use the hardware smooth scroll offsets as tried in this scrolling text demo... So I tried the smooth scrolling register, scrolling from the bottom up. I get the same flickering as the text demo when scrolling my colour graphics I tried syncing it by putting a wait loop checking the vblank register but had no luck, maybe waiting a number of cycles after the vblank triggers might work but I can't be bothered to play with it anymore. I am frustrated and angry at VICE. for all I know I have hit the working combination at least once and it wasn't emulated correctly. My real hardware does very different things to VICE and my programming has taken all day testing against an unknown moving target of vice. For all I know I had working code many times and kept changing it because of poor emulation. I need a way to get code onto the 128 without moving SD cards around.
|
|