Re: A82: Galaxian Help!


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

Re: A82: Galaxian Help!




The problem is in the contrast and display controler parts. The only 
solution I know of is to remove those completely. I mean, changing the 
contrast when pausing may be nice, but really isn't needed. That is how 
the bugs can be fixed!
**comments below added to source**
 |
 |
\ /


Evil Sam wrote:
> 
> Sorry to be clogging up the list with long messages and constant
> Galaxian problems. I'm pretty sure I've located the problem when running
> Galaxian with CrASH. You know the one where you play Galaxian press
> Clear, then exit CrASH by pressing MODE, then reenter CrASH by using the
> PGRM button, then the calc immediately crashes. I'm positive it has
> something to do with my pause routine. I implimented the pause routine in
> Orzunoid and now that game has the CrASh problem as well. Heres the pause
> routine maybe someone could show me where the problem is and how to fix
> it :)
> 
> pause:   LD       HL,0
>          ld       (CURSOR_ROW),hl
>          ld       hl,paused_msg
>          ROM_CALL(D_ZT_STR)
> 
>          ld       hl,$b05
>          ld       (CURSOR_ROW),hl
>          ld       hl,(lives)
>          ROM_CALL(D_HL_DECI)
> 
>          ld       hl,$b06
>          ld       (CURSOR_ROW),hl
>          ld       hl,(level)
>          ROM_CALL(D_HL_DECI)
> 
>          ld       hl,$b07
>          ld       (CURSOR_ROW),hl
>          ld       hl,(score)
>          ROM_CALL(D_HL_DECI)
> 
> paused_loop:
>   REMOVE        call    DISP_DELAY      ;Probably unnecessary
>   REMOVE       ld      a,(CONTRAST)    ;Load normal contrast value
>   REMOVE       add     a,$D8           ;Convert to display controller
>   REMOVE       out     ($10),a         ;Send command to display controller
> 
>          call     GET_KEY
>          cp       G_ENTER
>          ret      z
>  REMOVE         ld       hl,CONTRAST
> 
>  REMOVE         cp       G_PLUS
>  REMOVE         jr       nz,no_plus
>  REMOVE         ld       a,(hl)
>  REMOVE         cp       $3f
>  REMOVE         jr       z,no_plus
>  REMOVE        inc      (hl)
> 
> no_plus: cp       G_MINUS
>          jr       nz,no_minus    REMOVE ALL of no_plus
>          ld       a,(hl)
>          cp       $18
>          jr       z,no_minus
>          dec      (hl)
> no_minus:
> 
>  REMOVE         jr       paused_loop
> 
> paused_msg:
>          .db      "Galaxian 82 v2.0"
>          .db      "---> PAUSED <---"
>          .db      "<ENTER> : resume"
>          .db      "<+> : contrast +"
>          .db      "<-> : contrast -"
>          .db      "LIVES --->      "
>          .db      "LEVEL --->      "
>          .db      "SCORE --->",0



Follow-Ups: References: