On Tue, 17 Jul 2012, William Levak wrote: I have analyzed the logic of the chip's operation, and tried a number of variations. The last number register and the flip flops are initialized to 214 and the cannot be moved forward or backward in the logic stream. If they are, then subsequent output is wrong. It's like a CRC. Not only must the number be right, but the position in memory must be right also. This would then mean that operation does not begin with the shift registers outputing to the flip-flops. This step is at the end of the cycle. Operation would begin with the flip-flops being loaded with 214, which would also send 214 to the output register. Also if we make the even/odd register a not even/odd register, then everything else is initialized to 0. This is simpler. The revised chip operation is: INITIALIZATION: The flip-flops and last number register are set to 214. Everything else is set to 0. OPERATION: 1. The flip-flops output to the output register. 2. The chip waits for input. If the input is odd and the not even/odd register is 1, continue below. Otherwise transfer the complement of the low bit of the input register to the not even/odd register, and continue waiting for input. 3. Exclusive or the input with the last number register. Exclusive or that result with the current position of the shift registers. 4. Shift the shift registers one position, and copy the input register to the last number register. 5. Output the current position of the shift registers to the output register. 6. Go to step 1. and continue indefinitely. I have run more than 4000 randomly generated numbers through this sequence, and it works perfectly. I have not been able to pin down exactly when the not even/odd register is set. wlevak@sdf.lonestar.org SDF Public Access UNIX System - http://sdf.lonestar.org Message was sent through the cbm-hackers mailing listReceived on 2012-07-22 06:00:04
Archive generated by hypermail 2.2.0.