Re: A82: Galaxian bug... solved?
[Prev][Next][Index][Thread]
Re: A82: Galaxian bug... solved?
In a message dated 98-04-15 21:58:31 EDT, you write:
> >>Display_Screen:
> >
> >Instead of call Display_Screen, do call CR_GRBCopy
> >
> >-- Barubary
> >
> Yes, I could, but I think Patrick used that routine for a very
> specific reason. I'll have to email him to be sure. If the use of the
> routine isn't neccessary then I could use ROM_CALL(DISP_GRAPH) or
> CR_GRBCopy and save myself around 100 bytes. But I do think the routine
> is essential to the game otherwise I'm sure Patrick would have used it.
> When I tried DISP_GRAPH before the game seemed to run fine, but when the
> ship gets hit an extremely wierd crash occured. I'll email PD and
> investigate further.
> The real question for the CrASH people is why does this routine work
> in ASH and not CRASH? I could have told myself to write the routine out
> with ROM_CALL(DISP_GRAPH). Another question I have is why did the bug
> not used to occur when I played Orzunoid on CrASH v1.0? I have a feeling
> if someone tried Galaxian on CrASH v1.0 the bug wouldn't happen.
> Sam
First of all, CrASH 1.0 was never released to the public :-). The first
release was 1.1.
Second, DISP_GRAPH changes most, if not all, of the registers. Try this:
Display_Screen:
push hl
push de
push bc
push ix ;if you use it
push af ;prolly not needed
ROM_CALL(DISP_GRAPH)
pop af
pop ix
pop bc
pop de
pop hl
ret
then you won't even have to change the "call Display_Screen"'s! I imagine,
though, that this is not the problem, and I would be interested in hearing
Patrick Davidson's reply.
Thirdly, the problem probably does occur in Ash, you just haven't figured out
how to exploit it :-). Or, some memory addresses used by CrASH only could be
messed up.
I don't imagine DISP_GRAPH will slow the game down terribly, if it works
~Adamman