| |
Testa Account closed
Registered: Oct 2004 Posts: 197 |
fetch the 0-sprite. with open borders...
hi,
ik have a little problem.. i want to open the sideborders with the 4 lowest sprites... i have two questions about it..
when i do the D016 write i use a dec d016 or a lsr or ror as opcode... why does a sty, sta, stx not work....
has it something to do with cpu takeover cycles at that point...
second question... what to do on a badline....
there are not enough free cycles. with 4 sprites for a inc, ror or lsr d016 instead of a sta, sty or stx...
i realize it is common knowledge.. but sorry i dont. know it...
bye...
|
|
... 36 posts hidden. Click here to view all posts.... |
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
Quote: Quote:Atari 8 bits simply stop the cpu when needed, there's none of this messy ready cycle business.
the _c64_ does also only stop the cpu (exactly!) when needed - using that "messy" ready cycle business :) the atari stops the cpu _more_ than needed, because it does not have such mechanism :)
"lets wait for the first read cycle to stop, 3 cycles before we need the bus" doesnt sounds like stopping exactly when needed. it may be as much as 3 cycles too early. AFAIK atari just stops the CPU when needed, no questions asked. |
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
Quote:AFAIK atari just stops the CPU when needed, no questions asked.
yes, exactly. and on the c64 the cpu can still perform non-write cycles (if any) until it really stops. |
| |
Ninja
Registered: Jan 2002 Posts: 411 |
Oswald: Please, take some time to really think about it. If you halt the CPU while it is writing, the VIC would not fetch but push data, because R/W# is driven low. And it is 3 cycles because this is the maximum the CPU ever writes in a row (interrupt entry).
So, next reply is either "OK, I got it" or a precise description how you want to achieve that the VIC is not accidently writing instead of reading with 0-delay cycles ;) |
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
Quote:If you halt the CPU while it is writing, the VIC would not fetch but push data, because R/W# is driven low.
and some kind of flaw in this mechanism is most likely causing the well known VSP fuckups :) |
| |
Mace
Registered: May 2002 Posts: 1799 |
This is probably all understandable when I read it over another 20-odd times... for now, it's a bit dazzling :-)
Always interesting to see how people explain difficult stuff they fully understand themselves. A lot of information is assumed common knowledge, while in fact for others it's all new and not too logical. |
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
I got it, but your explanation was very implicit and well hidden, because I did NOT know the VIC can not put the bus into read state by itself :P :)
VICII can not drive the R/W line, so it has to wait until the CPU hits a read memory state and then stop the CPU
|
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
Quote: Quote:AFAIK atari just stops the CPU when needed, no questions asked.
yes, exactly. and on the c64 the cpu can still perform non-write cycles (if any) until it really stops.
no, I mean on the c64 you have this 3 cycle zone, while atari does not have this. AFAIK. tried to google, but not much on this behaviour, I remember reading somewhere that they simply stopped with the clock line (before sally!), but dunno how they solved the bus business. |
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
Quote:no, I mean on the c64 you have this 3 cycle zone, while atari does not have this.
it should be there too, but unlike its done in the c64, they used a much simplier approach to implement it, and halt the cpu regardless if it could still perfom the read cycles or not.
the whole thing becomes even more interesting if expansionport action comes into play too.... =D |
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
i dont get it, could you explain it in depth ? including expansion port :)
(c64 cpu is stopped on first read cycle, how can it be more simpler than that?:) |
| |
AlexC
Registered: Jan 2008 Posts: 299 |
Quote: But it's fun still to see people trying... in somewhat like 2010!
Don't you know that c64 is all about making impossible things a reality ;) That is why we love this machine so much. |
Previous - 1 | 2 | 3 | 4 | 5 - Next |