trunk/src/mame/drivers/coolridr.c
| r21188 | r21189 | |
| 254 | 254 | #include "machine/am9517a.h" |
| 255 | 255 | #include "rendlay.h" |
| 256 | 256 | |
| 257 | //#define FAKE_ASCII_ROM |
| 258 | |
| 257 | 259 | class coolridr_state : public driver_device |
| 258 | 260 | { |
| 259 | 261 | public: |
| r21188 | r21189 | |
| 481 | 483 | { |
| 482 | 484 | COMBINE_DATA(&m_sysh1_txt_blit[offset]); |
| 483 | 485 | |
| 486 | |
| 484 | 487 | switch(offset) |
| 485 | 488 | { |
| 486 | 489 | // The mode register |
| r21188 | r21189 | |
| 662 | 665 | if (spriteNumber == 0x20 || spriteNumber == 0x00) |
| 663 | 666 | continue; |
| 664 | 667 | |
| 668 | #ifdef FAKE_ASCII_ROM |
| 669 | if (m_blitterMode == 0x30 || m_blitterMode == 0x90) |
| 670 | { |
| 671 | |
| 672 | drawgfx_opaque(*drawbitmap,drawbitmap->cliprect(), machine().gfx[3],spriteNumber,0,0,0,pixelOffsetX,pixelOffsetY); |
| 673 | continue; |
| 674 | } |
| 675 | #endif |
| 665 | 676 | |
| 677 | |
| 666 | 678 | int blockwide = ((16*m_hZoom)/0x40)-1; |
| 667 | 679 | int blockhigh = ((16*m_vZoom)/0x40)-1; |
| 668 | 680 | // hack |
| r21188 | r21189 | |
| 962 | 974 | }; |
| 963 | 975 | #endif |
| 964 | 976 | |
| 977 | |
| 978 | static const gfx_layout fakeascii = |
| 979 | { |
| 980 | 16,16, |
| 981 | 512, |
| 982 | 4, |
| 983 | { 0,1,2,3 }, |
| 984 | { 0*4,0*4,1*4,1*4,2*4,2*4,3*4,3*4,4*4,4*4,5*4,5*4,6*4,6*4, 7*4,7*4 }, |
| 985 | { 0*8*4,0*8*4, 1*8*4,1*8*4, 2*8*4,2*8*4, 3*8*4,3*8*4, 4*8*4,4*8*4, 5*8*4,5*8*4, 6*8*4,6*8*4, 7*8*4,7*8*4 }, |
| 986 | 8*8*4 |
| 987 | }; |
| 988 | |
| 989 | |
| 965 | 990 | static GFXDECODE_START( coolridr ) |
| 966 | 991 | // GFXDECODE_ENTRY( "maincpu_data", 0, tiles8x8_layout, 0, 16 ) |
| 967 | 992 | GFXDECODE_ENTRY( "gfx_data", 0, tiles8x8_layout, 0, 16 ) |
| 968 | 993 | GFXDECODE_ENTRY( "gfx5", 0, tiles8x8_layout, 0, 16 ) |
| 969 | 994 | GFXDECODE_ENTRY( "ram_gfx", 0, tiles8x8_layout, 0, 16 ) |
| 995 | GFXDECODE_ENTRY( "fakeascii", 0x18000, fakeascii, 0, 16 ) |
| 970 | 996 | GFXDECODE_END |
| 971 | 997 | |
| 972 | 998 | static INPUT_PORTS_START( coolridr ) |
| r21188 | r21189 | |
| 1491 | 1517 | |
| 1492 | 1518 | ROM_REGION( 0x80000, "scsp2", 0 ) /* second SCSP's RAM */ |
| 1493 | 1519 | ROM_FILL( 0x000000, 0x80000, 0 ) |
| 1520 | |
| 1521 | |
| 1522 | ROM_REGION( 0x2800000, "fakeascii", ROMREGION_ERASEFF ) |
| 1523 | #ifdef FAKE_ASCII_ROM |
| 1524 | ROM_LOAD( "video", 0x000000, 0x020000, CRC(8857ec5a) SHA1(5bed14933af060cb4a1ce6a961c4ca1467a1cbc2) ) // dump of the orunners video ram so we can use the charset (its 8x8 not 16x16 tho, but who cares) |
| 1525 | #endif |
| 1494 | 1526 | ROM_END |
| 1495 | 1527 | |
| 1496 | 1528 | #if 0 |
| r21188 | r21189 | |
| 1520 | 1552 | machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x60d8894, 0x060d8897, read32_delegate(FUNC(coolridr_state::coolridr_hack2_r), this)); |
| 1521 | 1553 | } |
| 1522 | 1554 | |
| 1523 | | GAME( 1995, coolridr, 0, coolridr, coolridr, coolridr_state, coolridr, ROT0, "Sega", "Cool Riders",GAME_NOT_WORKING|GAME_NO_SOUND ) // was marked 'US' but clearly uploads a Japan warning, might be a jumper select |
| 1555 | GAME( 1995, coolridr, 0, coolridr, coolridr, coolridr_state, coolridr, ROT0, "Sega", "Cool Riders",GAME_NOT_WORKING|GAME_NO_SOUND ) // region is set in test mode |