RE:RE:A82: Galaxian bug... solved?
[Prev][Next][Index][Thread]
RE:RE:A82: Galaxian bug... solved?
>It's 960 because 16*12 + 768 = 960. Thats all Derrick Ward can remember
>and he wrote that part of the code.
> It has something do with the use of Patrick Davidson's Display
>Screen routine instead of ROM_CALL(DISP_GRAPH).
> Sam
>
I have found the CrASH problem. For a while I thought it had something
to do with the contrast changer or save feature because they were the
only unique things in Orzunoid and Galaxian that are in both games. But
now I know it is Patrick Davidson's Display routine that CrASH has a
problem with. I didn't realize Orzunoid uses the exact same display
routine. Its used because it is much faster than the other routines
out(at least thats what I've been told). One line of the display routine
code says "ld hl,GRAPH_MEM+(16*12)" Thats why the number is 960. Its
768+(16*12)= 960. THIS IS THE ROUTINE CRASH DOESN'T LIKE. This is a huge
step. Now maybe Barubary or CrASH_Man can tell me what needs to be fixed
in the Display routine to work with CrASH correctly. Heres the
problematic routine:
Display_Screen:
call DISP_DELAY
ld a,7
out (16),a
ld c,17
ld a,$80
ld hl,GRAPH_MEM+(16*12)
loop_display:
call DISP_DELAY
out (16),a
inc a
ld e,a
ld a,$20
call DISP_DELAY
out (16),a
ld a,e
call DISP_DELAY \ outi
call DISP_DELAY \ outi
call DISP_DELAY \ outi
call DISP_DELAY \ outi
call DISP_DELAY \ outi
call DISP_DELAY \ outi
call DISP_DELAY \ outi
call DISP_DELAY \ outi
call DISP_DELAY \ outi
call DISP_DELAY \ outi
call DISP_DELAY \ outi
call DISP_DELAY \ outi
cp $c0
jr nz,loop_display
ret
If Barubary or CrASH_Man (or Dines for that matter) could tell me what I
need to change I would appreciate it.
Evil Sam
______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com