[stella] Reading T1024T?
seagtgruff at aol.com
seagtgruff at aol.com
Sun Jan 6 16:30:40 CST 2008
Okay, I just used DIS6502 to disassemble "Astroblast.bin," and answered two of my questions:
(1) T1024T ($297) is being read-- not once, but twice.
(2) INTIM ($284) is *not* being read at all.
So I guess it must have been a programming mistake.
Note that in both places where T1024T is read, it's followed by "BPL LF459."
If the first branch is taken, it will simply skip over a "NOP"-- which seems fairly pointless, since the only thing that will happen is either it will take 3 cycles to get to LF459 (if the branch is taken) or 4 cycles (if the branch is not taken)-- and the first command at LF459 is "STA WSYNC." So unless this is somehow trying to ensure that "STA WSYNC" doesn't begin executing at cycles 73, 74, or 75 (which would result in an extra scan line), I don't see how this first bit of code is doing anything meaningful. But I'm no guru, so maybe someone else can explain its purpose.
If the second branch is taken, it will loop back. So assuming that "LDA T1024T" doesn't do anything meaningful, my limited understanding of the "LDA $00" error is that the accumulator will contain either (1) random?junk, or (2) one of the bytes of the address being read-- i.e., $02 or $97, right? If it's the latter, then I presume it must be $97, which would mean that neither branch is ever taken, because $02 would result?in an infinite loop.
Michael
View full size
-----Original Message-----
From: seagtgruff at aol.com
To: stella at atari2600.org
Sent: Sun, 6 Jan 2008 4:31 pm
Subject: Re: [stella] Reading T1024T?
T1024T is a write register. You can (try to) read a write register-- but I don't see how it would return anything meaningful. (Wouldn't this be exactly like doing LDA $00 when you actually meant to use LDA #$00?) Is T1024T defined within the code-- i.e., could it have been defined incorrectly as $284 (INTIM) instead of $297 (T1024T)? If this is a disassembly from the ROM image, then I presume T1024T was defined correctly from the?"vcs.h" file-- but if it's the original source code, then T1024T might have been defined internally. Is INTIM being read as well? Where did Astroblast fit into the schedule of M Network releases-- was it one of the earliest? Perhaps the programmer just made a mistake?
Michael
-----Original Message-----
From: Dennis Debro <dennis at debrofamily.com>
To: 'Atari 2600 programming list' <stella at atari2600.org>
Sent: Sun, 23 Dec 2007 11:48 pm
Subject: [stella] Reading T1024T?
Hi there,
I was looking at Astroblast and notice the programmer is reading T1024T. I
assume he's doing this to see if the timer has expired. Is this valid? All
documents I've read have mentioned reading INTIM or checking TIMINT for
this.
Take care,
Dennis
_______________________________________________
Stella mailing list
Stella at atari2600.org
http://atari2600.org/mailman/listinfo/stella
More new features than ever. Check out the new AOL Mail!
_______________________________________________
Stella mailing list
Stella at atari2600.org
http://atari2600.org/mailman/listinfo/stella
________________________________________________________________________
More new features than ever. Check out the new AOL Mail ! - http://webmail.aol.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://atari2600.org/pipermail/stella/attachments/20080106/68df63a5/attachment.html
More information about the Stella
mailing list