Re: A82: Galaxian bug... solved?


[Prev][Next][Index][Thread]

Re: A82: Galaxian bug... solved?




Being a novice asm programmer, i may be wrong, but shouldn't you
actually use 767 instead of 768?  it seems to me that when you ldir, if
you use 768, de will end up writing one beyond graph_mem, since it
started one into graph mem.  anyway, just a question.

- Bryan Catanzaro

Barubary wrote:
> 
> Umm...  I think I might've figured it out.  I KNOW this is a
> bug - I just don't know what it does.  I don't even know what
> the problem with running it in crash IS...  Evil Sam, could
> you try this fix and see if it clears it up?
> 
> This code is simply wrong.  GRAPH_MEM is 768 bytes, not 960.
> ((96 * 64) / 8 = 768)  You're overwriting something in RAM,
> and to be accurate I don't know what the hell you're
> overwriting, but I KNOW something is glitched here: :)
> 
>   ld   hl,GRAPH_MEM
>   ld   de,GRAPH_MEM+1   ; this clears the damned graph memory
>   ld   bc,960
>   ld   (hl),0
>   ldir
> 
> Change 960 to 768 and try that.  If that doesn't fix the
> problem, LEAVE IT IN.  It won't hurt to not do something that
> can seriously fuck up system RAM :)
> 
> -- Barubary


References: