the cutting room mirror

Bullet (Sega)

This page contains no introduction.
What makes this game notable or what is it about? Are you a bad enough dude to save this article?

Uncompiled Code#

To do:
There's more code. See if one can somehow mash all of these together semi-cohesively.

Random bits of code are scattered throughout the game. These are found in epr-10994.b9, epr-10995.b10, and epr-10996.b11, but the addresses below apply to epr-10994.b9.

6FB8:

                     w  #24*2,a3
        adda.w  #24*2,a5
        dbra    d6,flgy2_loop
        rts
        

flag_check:

71C8:

ge x y_loop
        move.l  2(a0),a1            * a1=LINE1_0
        move.l  6

73D0:

>> scroll_data transfer
blk4_put:
        move.l  (a4)

77C8:

                     w  #1,d4
        move.w  d4,d2
bly_loop
        move.l  a5,a3
        move.w

7960:

                        (PAGEA_NDT).w,d0
        and.w   #$f,d0

79C3:

count_put:
        lea.l   TEST_ADDR+$180+4,a0
        move.w  (SCR_POSI).w,

7AE0:

                              d0
        and.w   #$f00,d0
        lsr.w   #8,d0
        bsr     cnum_put
        rts

*----------- scroll speed put -------------

speed_put:
        lea.l   TEST_ADDR+$280+4,a0
        clr.w   d0
        move.b  (PRN_FLAG).w,d0
        lsr.w   #4,d0
        bsr     cnum_put
        rts

*----------------------------------------------

scpage_pr:
        lea.l   TEST_A

7EA8:

                    .w  #$f,d0
        bsr     cnum_put
        
        rts

*------------- locate put ----------------
    
loc_put:
        lea.l   TEST_ADDR+$400+4,a0
        move.w  (SCR_YCEN).w,d0
        and.w   #$ff,d0
        move.w  d0,d1
        lsr.w   #4,d0
        bsr     cnum_put
        move.w  d1,d0
        and.w   #$f,d0
        bsr     cnum_put

        lea.l   TEST_ADDR+$480+4,a0
        move.w  (SCR_XCEN).w,d0
        and.w   #$ff,d0
        move.w  d0,d1
        lsr.w   #

77C8:

                     w  #1,d4
        move.w  d4,d2
bly_loop
        move.l  a5,a3
        move.w  

8230:

COUNT","S SPEED"
        align
                
        
*--------- screen init -------------

chksc_int:
        move.w  #0,(ROUND).w
        move.b  #$70,(PRN_FLAG).w
        rts
                
chksc_prn:
        TV_off
        move.b  #0,(SCR_STAT).w
        bsr     init_scr
        lea.l   F_VRAM,a0
        move.w  #32*28-1,d5
fix_clr2
        clr.l   (a0)+
        dbra    d5,fix_clr2
        bsr     t_msg
        bsr     scpage_pr
        TV_on
        rts
        


                    
        ends

                
        end
    
    bra     p_wr3
        
*------------------- page wright ------------------------

p_wr0:
        bsr     pdata_set

8539:

p_wr2:
        bsr     pdata_set
        clr.w   d0
        
        lsl.w   #4,d1
        move.w  d1,d0
        
        or.w    d2,d0
        
        lsl.w   #8,d3
        lsl.w   #4,d3
        or.w    d3,d0
        
        lsl.w   #8,d4
        or.w    d4,d0
        
        rts
                
p_wr3:
        bsr     pdata_set
        cl