diff options
Diffstat (limited to 'src/mame/video/rltennis.c')
-rw-r--r-- | src/mame/video/rltennis.c | 84 |
1 files changed, 42 insertions, 42 deletions
diff --git a/src/mame/video/rltennis.c b/src/mame/video/rltennis.c index 8f8412d3b05..ce1ec7f45cf 100644 --- a/src/mame/video/rltennis.c +++ b/src/mame/video/rltennis.c @@ -1,73 +1,73 @@ /**************************************************************************************** Reality Tennis - (c) 1993 TCH - - + + Blitter registers description (reg/bit names selected arbitrary ) : 700000 - BLT_X_START - JOANA JOAQUIN - fedcba98 76543210 + JOANA JOAQUIN + fedcba98 76543210 -------- xxxxxxxx dst x start xxxxxxxx -------- src x start - + 700002 - BLT_X_END - JOANA JOAQUIN + JOANA JOAQUIN fedcba98 76543210 -------- xxxxxxxx dst x end xxxxxxxx -------- src x end - + 700004 - BLT_Y_START - JOANA JOAQUIN - fedcba98 76543210 x start + JOANA JOAQUIN + fedcba98 76543210 x start -------- xxxxxxxx xxxxxxxx -------- - + 700006 - BLT_Y_END - JOANA JOAQUIN - fedcba98 76543210 x start + JOANA JOAQUIN + fedcba98 76543210 x start -------- xxxxxxxx xxxxxxxx -------- - + 700008 - BLT_FLAGS JOANA JOAQUIN fedcba98 76543210 -------- -------x BLTFLAG_DST_X_DIR x dst direction (step inc or dec) -------- ------x- BLTFLAG_DST_Y_DIR y dst direction - -------- -----x-- BLTFLAG_DST_LR LR and UD controlls the quarter of framebuffer to use + -------- -----x-- BLTFLAG_DST_LR LR and UD controlls the quarter of framebuffer to use -------- ----x--- BLTFLAG_DST_UD / -------- ---?---- unknown - -------- --x----- BLTFLAG_DISPLAY_UD display buffer select + -------- --x----- BLTFLAG_DISPLAY_UD display buffer select -------- ??------ unknown -------x -------- BLTFLAG_SRC_X_DIR x src direction ------x- -------- BLTFLAG_SRC_Y_DIR y src direction - -----x-- -------- BLTFLAG_SRC_LR LR and UD controlls the quarter of src buffer to use + -----x-- -------- BLTFLAG_SRC_LR LR and UD controlls the quarter of src buffer to use ----x--- -------- BLTFLAG_SRC_UD / - xxxx---- -------- src ROM num - - + xxxx---- -------- src ROM num + + 70000a - BLT_UNK JOANA JOAQUIN fedcba98 76543210 ???????? ???????? unknown (used during gameplay ... zoom factors ?) - + 70000c - BLT_START fedcba98 76543210 --?????- ???????? unknown -------x -------- BLTSTRT_ROM_MSB src ROM MSB - -x------ -------- BLTSTRT_TRIGGER blit start + -x------ -------- BLTSTRT_TRIGGER blit start x------- -------- BLTSTRT_LAYER FG or BG layer of framebuffer - + 70000e - BLT_UNK2 JOANA JOAQUIN fedcba98 76543210 - ???????? ???????? unknown (set to 0 @ boot) - + ???????? ???????? unknown (set to 0 @ boot) + ****************************************************************************************/ #include "emu.h" #include "includes/rltennis.h" @@ -117,7 +117,7 @@ WRITE16_HANDLER(rlt_blitter_w) int old_data=state->m_blitter[offset]; COMBINE_DATA(&state->m_blitter[offset]); int new_data=state->m_blitter[offset]; - + if(offset==BLT_FLAGS && ((new_data^old_data) & BLTFLAG_DISPLAY_UD) ) /* visible page flip and clear */ { if(new_data & BLTFLAG_DISPLAY_UD) @@ -144,7 +144,7 @@ WRITE16_HANDLER(rlt_blitter_w) int dst_x1=(state->m_blitter[BLT_X_END]&0xff); int dst_y1=(state->m_blitter[BLT_Y_END]&0xff); - + int src_x1=((state->m_blitter[BLT_X_END]>>SRC_SHIFT)&0xff)+((state->m_blitter[BLT_FLAGS] & BLTFLAG_SRC_LR)?256:0); int src_y1=((state->m_blitter[BLT_Y_END]>>SRC_SHIFT)&0xff)+((state->m_blitter[BLT_FLAGS]>>3)&0xff00)+(((state->m_blitter[BLT_START]) & BLTSTRT_ROM_MSB)?(1<<0xd):0); @@ -155,39 +155,39 @@ WRITE16_HANDLER(rlt_blitter_w) int y_src_step=(state->m_blitter[BLT_FLAGS] & BLTFLAG_SRC_Y_DIR)?1:-1; int x,y; - + int idx_x,idx_y; - + int blit_w=src_x1-src_x0; int blit_h=src_y1-src_y0; - + int blit_w1=dst_x1-dst_x0; int blit_h1=dst_y1-dst_y0; - + if(blit_w1<0) blit_w1=(-blit_w1)^0xff; /* is it correct ? game does that when flips images */ if(blit_h1<0) blit_h1=-blit_h1; - + if(blit_w<0) blit_w=-blit_w; if(blit_h<0) blit_h=-blit_h; - + { - /* wrong, causes gfx glitches (wrong size , but gives (so far) the best results */ - if(blit_w1<blit_w) blit_w1=blit_w; + /* wrong, causes gfx glitches (wrong size , but gives (so far) the best results */ + if(blit_w1<blit_w) blit_w1=blit_w; if(blit_h1<blit_h) blit_h1=blit_h; } - + int layer=(state->m_blitter[BLT_START] & BLTSTRT_LAYER )?BITMAP_BG:BITMAP_FG_1; - + if(layer==BITMAP_FG_1) { - if(state->m_blitter[BLT_FLAGS] & BLTFLAG_DST_UD ) + if(state->m_blitter[BLT_FLAGS] & BLTFLAG_DST_UD ) { layer=BITMAP_FG_2; } } - + bool force_blit=false; - + if(blit_w==1 && blit_h==1) /* seems to be bg layer color fill */ { force_blit=true; @@ -200,7 +200,7 @@ WRITE16_HANDLER(rlt_blitter_w) int xx=src_x0+(x_src_step*idx_x); int yy=src_y0+(y_src_step*idx_y); - + if(force_blit) { xx=src_x0; @@ -255,7 +255,7 @@ READ16_HANDLER( rlt_ramdac_data_r ) rltennis_state *state = space->machine().driver_data<rltennis_state>(); int data=state->m_palette[state->m_palpos_r]; ++state->m_palpos_r; - state->m_palpos_r %=256*3; + state->m_palpos_r %=256*3; return data; } @@ -274,4 +274,4 @@ SCREEN_UPDATE( rltennis ) copybitmap(bitmap, state->m_tmp_bitmap[BITMAP_BG], 0, 0, 0, 0, cliprect); copybitmap_trans(bitmap, state->m_tmp_bitmap[BITMAP_FG_DISPLAY], 0, 0, 0, 0, cliprect, 0); return 0; -}
\ No newline at end of file +} |