Spectacular effort guys. Well done. Rob On 28/05/2012 21:49, Rhialto wrote: > On Mon 28 May 2012 at 10:36:55 +0000, William Levak wrote: >> This looks like it could reproduce the output with one addition: a >> control register for the shift registers that turns individual shift >> registers on or off. We know this control register exists because >> bits 3 and 5 are initially off and are turned on if the correct >> input is received. > Ah, but the "trick" here is that the shift registers for those output > bits initially have only zeros in them. So they'll never change the > output bit until a 1 is put in them. Which is done by providing a > changed input bit. (It turns out that setting "previous input bits" to > all zeros works fine.) The bit that is changed if the input changes is > the leftmost bit in the shift register (before it is shifted). > >> In the case where the output for a bit is all 0 or all 1, the shift >> register is turned off. > because all bits in it are 0. > >> This occurs when the corresponding bit of the input is changed and the >> current output of the shift register is high. > The output of the shift is wrapped around to the left, so if the input > changes at the right moment, the 1 which was wrapped around will be > toggled to a 0. > > The same method can turn it on again later. And of course there can be > multiple 1s. If the number is odd, the second cycle of N bits will be > the inverse of the first one. > > I've put the code into VICE and it works with the Waterloo software, so > I checked it in. As of revision 25635 you can try it out. > Tarball of the full VICE source: > http://vice-emu.svn.sourceforge.net/viewvc/vice-emu/trunk/?view=tar > or > svn co https://vice-emu.svn.sourceforge.net/svnroot/vice-emu/trunk vice-emu > > > -Olaf. Message was sent through the cbm-hackers mailing listReceived on 2012-05-29 07:00:05
Archive generated by hypermail 2.2.0.