eshu, on Mon May 16, 2011 11:55 AM, said:
SeaGtGruff, on Mon May 16, 2011 11:01 AM, said:
To get 36 characters I believe you will need to strobe RESP0 four times
I'm strobing it twice with 6 cycle separation for the last three copies, if I strobe it with 11 cycle separation I get four copies...
Line 1:
Start with a cycle 71 RESP0. This will reset the main copy of player0 to position 150, and the near copy will be at position 6.
After HBLANK, do a cycle 23 RESP0. This will reset the main copy of player0 to position 6, so the reset will coincide with the START signal of the near copy.
This will give you the first three sprites.
After loading and drawing the player1 graphics, do a cycle 49 RESP0 followed by a cycle 55 RESP0 to get the last three copies of player0.
Line 2:
Right after that, do a cycle 74 RESP0. This will reset the main copy of player0 to position 159, and the near copy will be at position 15.
After HBLANK, do a cycle 26 RESP0. This will reset the main copy of player0 to position 15, so the reset will coincide with the START signal of the near copy.
After loading and drawing the player1 graphics, do a cycle 52 RESP0 followed by a cycle 58 RESP0 to get the last three copies of player0.
Line 3:
Right after that, do a cycle 71 RESP0 and repeat the process.
The "touchy" part is the cycle 58 RESP0 followed by the cycle 71 RESP0:
cycles 49, 50, 51 = STA RESP0
cycles 52, 53, 54 = sleep 3 = ^^^^-7654 (not drawn)
cycles 55, 56, 57 = STA RESP0 = 3210---ss (not drawn)
cycles 58, 59, 60, 61, 62 = sleep 5 = ^^^^-76543210--
cycles 63, 64, 65, 66,67 = sleep 5 = -ssss-76543210-
cycles 68, 69, 70 = STA RESP0 = --ssss765
cycles 71, 72, 73 = sleep 3 = ^^^^-7654 (not drawn)
I'm not sure if the third copy will continue to be drawn during the reset signal-- if it does, there's a good chance that only 7 pixels will be drawn, since the last pixel will fall within the new "count 0." But if I'm not mistaken, the last bit will always be blank, anyway, so no harm no foul. In any case, you should at least be able to get 35 characters, if not 36.
The other situation-- a cycle 55 RESP0 followed by a cycle 74 RESP0-- shouldn't be a problem.
You could also add 1 to all of these cycle numbers:
cycle 72 RESP0, cycle 24 RESP0, cycle 50 RESP0, cycle 56 RESP0
cycle 75 RESP0, cycle 27 RESP0, cycle 53 RESP0, cycle 59 RESP0
cycle 72 RESP0, etc.
This still presents the same "sticky" situation with the cycle 59 RESP0 and cycle 72 RESP0, but I don't know which numbers will work out better for your code.
Michael
PS -- In all the screenshots of the 32-character display, it looks like there's room for only one more character to the left, and one more character to the right, or 34 characters max? I guess that might be due to HMOVE bars? If that's the case, you will probably need to go with the second set of numbers.
Edited by SeaGtGruff, Mon May 16, 2011 1:59 PM.