[Coco] ASM Coders - please help!

Robert Gault robert.gault at worldnet.att.net
Mon Aug 28 23:47:10 EDT 2006


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.



More information about the Coco mailing list