Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > C64 Coding > fetch the 0-sprite. with open borders...
2010-05-17 18:59
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....
 
2010-05-18 06:12
Oswald

Registered: Apr 2002
Posts: 5031
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.
2010-05-18 06:29
chatGPZ

Registered: Dec 2001
Posts: 11148
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.
2010-05-18 06:44
Ninja

Registered: Jan 2002
Posts: 407
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 ;)
2010-05-18 07:08
chatGPZ

Registered: Dec 2001
Posts: 11148
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 :)
2010-05-18 07:10
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.
2010-05-18 08:00
Oswald

Registered: Apr 2002
Posts: 5031
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
2010-05-18 08:04
Oswald

Registered: Apr 2002
Posts: 5031
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.
2010-05-18 08:47
chatGPZ

Registered: Dec 2001
Posts: 11148
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
2010-05-18 08:57
Oswald

Registered: Apr 2002
Posts: 5031
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?:)
2010-05-18 09:04
AlexC

Registered: Jan 2008
Posts: 293
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
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
A3/AFL
Magic/Nah-Kolor
psych
zscs
Hoild/Ultimate Newco..
neoman/titan
Mibri/ATL^MSL^PRX
kbs/Pht/Lxt
Guests online: 92
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Mojo  (9.7)
4 Coma Light 13  (9.7)
5 Edge of Disgrace  (9.6)
6 No Bounds  (9.6)
7 Comaland 100%  (9.6)
8 Aliens in Wonderland  (9.6)
9 Uncensored  (9.6)
10 Wonderland XIV  (9.6)
Top onefile Demos
1 Happy Birthday Dr.J  (9.7)
2 Layers  (9.6)
3 It's More Fun to Com..  (9.6)
4 Cubic Dream  (9.6)
5 Party Elk 2  (9.6)
6 Copper Booze  (9.6)
7 TRSAC, Gabber & Pebe..  (9.5)
8 Rainbow Connection  (9.5)
9 Dawnfall V1.1  (9.5)
10 Daah, Those Acid Pil..  (9.5)
Top Groups
1 Nostalgia  (9.4)
2 Oxyron  (9.3)
3 Booze Design  (9.3)
4 Censor Design  (9.3)
5 SHAPE  (9.3)
Top Graphicians
1 Mirage  (9.8)
2 Archmage  (9.7)
3 Talent  (9.6)
4 Facet  (9.6)
5 Hend  (9.6)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.073 sec.