src/mess/drivers/super80.c
| r2116 | r2117 | |
| 26 | 26 | static UINT8 framecnt = 0; |
| 27 | 27 | static UINT8 super80v_vid_col=1; // 0 = color ram ; 1 = video ram |
| 28 | 28 | static UINT8 super80v_rom_pcg=1; // 0 = prom ; 1 = pcg |
| 29 | | static UINT8 mc6845_cursor[15]; // cursor shape |
| 29 | static UINT8 mc6845_cursor[16]; // cursor shape |
| 30 | 30 | static UINT8 mc6845[20]; /* registers */ |
| 31 | 31 | static UINT8 mc6845_reg; /* register index */ |
| 32 | 32 | static UINT8 mc6845_mask[]={0xff,0xff,0xff,0x0f,0x7f,0x1f,0x7f,0x7f,3,0x1f,0x7f,0x1f,0x3f,0xff,0x3f,0xff,0,0}; |
| r2116 | r2117 | |
| 329 | 329 | /* Get the graphics of the character under the cursor, xor with the visible cursor scan lines, |
| 330 | 330 | and store as character number 256. If inverse mode, drop bit 7 of character before xoring */ |
| 331 | 331 | if (!super80v_rom_pcg) |
| 332 | | for ( i = 0; i < 16; i++) |
| 332 | for ( i = 0; i < ARRAY_LENGTH(mc6845_cursor); i++) |
| 333 | 333 | pcgram[0x1000+i] = pcgram[(videoram[cursor]&0x7f)*16+i] ^ mc6845_cursor[i]; |
| 334 | 334 | else |
| 335 | | for ( i = 0; i < 16; i++) |
| 335 | for ( i = 0; i < ARRAY_LENGTH(mc6845_cursor); i++) |
| 336 | 336 | pcgram[0x1000+i] = pcgram[(videoram[cursor])*16 + i] ^ mc6845_cursor[i]; |
| 337 | 337 | |
| 338 | 338 | decodechar(screen->machine->gfx[0],256, pcgram); // and into machine graphics |