[Coco] ASM Coders - please help!
David Roper
dave at ebonhost.com
Mon Aug 28 23:52:26 EDT 2006
Robert Gault wrote:
> David Roper wrote:
>> <snip>
>> CLRSCRN ldy HSCLEN
>> ldx HRESSCRN
>> CLRLOOP clr ,X+
>> leay -1,Y
>> bne CLRLOOP
>> ENDLOOP jmp ENDLOOP
>> HRESSCRN equ $2000
>> HSCLEN equ $2000
>>
>> end START
>>
>> So!
>>
>> What I end up seeing (in MESS, at least) is a screen of alternating
>> vertical black and green lines.. and not much else
>>
>> I'm missing something, or messed something up, or generally on the
>> wrong track *somewhere*, and I'm sure someone out there will have
>> much more luck explaing where, and why I've gone wrong!
>>
>> Any takers to place me under their wing?
>>
>> Kind regards,
>> David
>>
>>
>>
>
> Here's the problem. Note the ldx and ldy values which are equivalent to
> ldy $2000
> ldx $2000
> That is not what you wanted or need. What you actually will get is
> unknown since the contents of $2000-$2001 will vary depending on what
> is present on the hi-res graphics screen.
>
> You really need
> ldy #$2000
> ldx #$2000
> because regX is a pointer to the start of the screen and regY is a
> counter.
>
> And by the way, the value for regY is not large enough to clear the
> entire screen if that was intended. A 320x200x16 screen requires $7D00
> bytes.
>
Thanks, Robert!
So the code I should be using (given that I'm using EQU's) is
ldy #HSCLEN
ldx #HRESSCRN
is that right?
Yes, I'm aware that it's not enough to clear the entire screen - if it's
enough to get -something- plotting, I'm happy!
Apart from that, does everything else seem ok?
Kind regards,
David
More information about the Coco
mailing list