Mike wrote: ↑Tue Nov 15, 2022 2:20 am
JonBrawn wrote:I was at the Central Texas Commodore User's Group meeting on Sunday. I think we found a game that relies on specific behaviour when you scroll the display up off the top of the screen, and the FPGA and the 6560 do different things.
Would you care to disclose the game's name, so people can take a look at it and possibly infer which VIC registers are involved in the trickery?
That's what you get for editing your posts. I did originally put in that it was Video Vermin, a cartridge game, but I appear to have then edited that out again. Ho hum. Let's just put that down to British eccentricity, shall we? Sounds so much better than "the man's a damn fool". Anyway, when you've managed to die often enough, and the game ends, the picture scrolls up off the top of the screen, smoothly. On the FPGA, it scrolls smoothly, but there's a burst of random character data displayed as a brief flash as it scrolls. I'll try to get a screen capture of that tomorrow. Or maybe Thursday.
Mike wrote: ↑Tue Nov 15, 2022 2:20 am
- Mike indicated that changes to the colour registers being observed one dot clock late and changes to the reverse bit being observed three dot clocks late. I have no idea what I can do with this information. Mike - any idea how I'd craft a test scenario to observe this?
The delay of 1 hires pixel for colour register changes with respect to half-character boundaries can be observed in
test7a.prg. The partial black frame is crafted so the 16 pixels width of the green rectangle are supposed to fit
exactly within that frame.
Actually, the screenshot indicates the displacement may not be a full hires pixel, tokra and I suspect an analogue effect inside the VIC-I here.
Now THAT I definitely recognize. With a minor amount of twiddling, I've got a green rectangle that perfectly fills the black corner borders. I could get it to be too far to the left, too far to the right or slap bang on target, but what I couldn't do is get it just a smidge off, as the real VIC 1 does. I'll go along with it being an analogue effect, as I'd have to resort to using the 28.6262MHz clock (XOR of what would be the 14.318181MHz clocks if I were able to use them) to shuffle the rectangle out of place by that small amount.
For the 3 hires pixels delay of the invert bit in $900F, I should be able to produce a similar test program with an appropriately moved test frame (two extra pixels to the right) within the next days. Stay tuned.
Looking forward to that - It'll be interesting to see what the current FPGA code makes of it.
While we're waiting for Mike's code, anybody that is a fan of his FLI graphics images (what does that stand for, by the way? And Flinale?) might want to pull
HTTP://www.brawn.org/VIC-20/fli.zip. You'll need to add 'boot' and a modified version of 'view' from a flinale_ntsc archive (the modification involves changing the names in the DATA statement to match the names of the files you've got on the disk image). If you're making .d64 images or real floppies, you'll only be able to put five images per disk. If you've got a PI1541 (and if not, why not?), then you can bung the whole lot in the 1541 directory, add a couple of extra DATA lines to the view program and sit back and watch the whole lot in one sitting. The demonic zombie hellhound with the empty eye sockets is called Sheena, and she has large black patches around her eyes. Not particularly conducive to this process, I'm afraid, but I thought I'd include it so you can use it to scare your children. She is way cuter in real life. Oh, and I'm a direct descendent of one of the pictured people - I can't imagine it'll be too hard to work out which one.