Re: ST SHIFTER operation ?
Posted: 27 Oct 2017 12:28
Yes, 25hz is most likely out of range for most panels. 30hz should be possible by most. Personally I’m willing to work with 30hz for better gains elsewhere.
We welcome retro users & hardware gurus alike! Come and join the party :)
https://www.exxosforum.co.uk/forum/
Sounds like we could be into iffy territory then :(Atarian Computing wrote: 27 Oct 2017 12:28 Yes, 25hz is most likely out of range for most panels. 30hz should be possible by most. Personally I’m willing to work with 30hz for better gains elsewhere.
I think this is getting back onto some other talks at some point earlier. Will basely need to store a entire frame in ram as a buffer, and then output this twice to the monitor, basically a frame doubler.IngoQ wrote: 27 Oct 2017 13:23 You might have more luck with a TV, which's video processor could accept a 30p progressive signal and internally double it to 60Hz which the panel natively accepts.
Smonson wrote: 28 Oct 2017 10:53 Hi guys! Hope I'm not intruding in this thread, I just wanted to say that I'm coincidentally working on an FPGA shifter replacement as well, very similar to what you guys are talking about here (you may have seen my post on Atari Forum). I have implemented monochrome video out to HDMI using a Cyclone-II EP2C5. I have been thwarted by clock instability but will be receiving new PCBs on Monday that might fix that.
Thanks! Yes, far to much negativity and project killing people about, such things are not tolerated here :)Smonson wrote: 28 Oct 2017 10:53 I'm so great to see people collaborating on a project and not trying to shoot it down. Keep up the amazing work!
That's all this forum is about, no BS, no bullying, no hindering by breaking one's reputation, only fair collaboration or competition and knowledge as accurate as possible (meaning no "i'm the expert so shut up!" coming from random guys or stupide admins (follow my glare on atari-forum which should be renamed bullshit-forum now)).Smonson wrote: 28 Oct 2017 10:53 Hi guys! Hope I'm not intruding in this thread, I just wanted to say that I'm coincidentally working on an FPGA shifter replacement as well, very similar to what you guys are talking about here (you may have seen my post on Atari Forum). I have implemented monochrome video out to HDMI using a Cyclone-II EP2C5. I have been thwarted by clock instability but will be receiving new PCBs on Monday that might fix that.
I'm so great to see people collaborating on a project and not trying to shoot it down. Keep up the amazing work!
I've just posted an overview in another thread. Thanks for the encouragement!exxos wrote: 28 Oct 2017 14:49 Sounds very cool, maybe you could fill us in in another thread here to catch us up ? :)
Yeah... I wasn't going to name names, but all of that does sound very familiar ;)Maeke wrote: 28 Oct 2017 15:33 That's all this forum is about, no BS, no bullying, no hindering by breaking one's reputation, only fair collaboration or competition and knowledge as accurate as possible (meaning no "i'm the expert so shut up!" coming from random guys or stupide admins (follow my glare on atari-forum which should be renamed bullshit-forum now)).
You actually only need four 16-bit shift registers and three 16-bit memories (latches, whatver). You don't need the fourth one because on the 4th load all the data is moved into the shift registers, so you can just write your data there directly for the last one.keli wrote: 16 Oct 2017 08:03You'd probably need 8 of them. 4 for the data currently being loaded from memory and the other 4 for the data being shifted out to the screen.exxos wrote: 15 Oct 2017 22:39 OK, so we need 4x 16bit shifters. Assume this 16bit data is read consecutively from RAM ? Such as , 16bit plane 1, then 16bit plane2.. etc
That would indeed greatly complicate things :roll:
But yes the bit planes are interleaved in memory so the blittter will always get one word from alternate bit planes on every load.
Code: Select all
palette_index <= {
shift_ir[0][15],
shift_ir[1][15],
shift_ir[2][15],
data[15]
};
shift_rr[0] <= {shift_ir[0][14:0], 1'b0};
shift_rr[1] <= {shift_ir[1][14:0], 1'b0};
shift_rr[2] <= {shift_ir[2][14:0], 1'b0};
shift_rr[3] <= {data[14:0], 1'b0};
Welcome to the group of outcasts :lol:Smonson wrote: 29 Oct 2017 10:01 Yeah... I wasn't going to name names, but all of that does sound very familiar ;)
Never thought of it that way! There seems to be two methods for the loading.Smonson wrote: 29 Oct 2017 10:01 By the way, about the conversation early in this thread regarding shift registers:
You actually only need four 16-bit shift registers and three 16-bit memories (latches, whatver). You don't need the fourth one because on the 4th load all the data is moved into the shift registers, so you can just write your data there directly for the last one.
I understand - I know you have been trying very hard in the past to improve the ST's clock speed, and the current shifter just gets in the way of that. It would be great to have a more configurable shifter/MMU combo so that when you're running at 16MHz you could execute a LOAD only every 4th bus cycle instead of every 2nd. Alternatively you could clock the shifter every 2nd cycle, as it is now, and have a 256-colour lo-res video mode, or 4 colour 640x400, etc. I think that's very achievable.exxos wrote: 29 Oct 2017 11:16 The second method is counting the 16 bits which are outputted, and then loading the data from the data latches. This is actually the method I was going for. I don't think it really matters either way. But I'm also thinking a little further ahead in terms of future MMU designs. In that the data written from the MMU to the shifter can be written at any speed, without it upsetting the actual pixel drawing to the screen.
Ultimately it may not really make any difference, but I am preferring to try and make the shifter more future proof.