trunk/src/mame/drivers/dblewing.c
| r24590 | r24591 | |
| 1 | | /* Double Wing */ |
| 1 | /* Double Wings |
| 2 | 2 | |
| 3 | | /* |
| 3 | - sound CPU seems to miss commands sometimes |
| 4 | - flipscreen is wrong |
| 5 | - should sprites be buffered (is there a Deco71?) |
| 4 | 6 | |
| 5 | | the most protected of the DE102 games? |
| 6 | | |
| 7 | | Protection TODO: |
| 8 | | - 3rd Boss (with Red Plane) causes a crash to the main CPU if you don't beat him on time; |
| 9 | | - What is the $330 related for? Appears to be read when you collect a power-up. |
| 10 | | - Check the remaining unmapped read/writes effect; |
| 11 | | - Boss BGM might be wrong / variable; |
| 12 | | - Haven't yet checked if bonus life and difficulty DIP-SW are rightly tested; |
| 13 | | - Clean-up the whole routine; |
| 14 | | |
| 15 | | |
| 16 | | -- Dip locations verified with Japanese manual |
| 17 | 7 | */ |
| 18 | 8 | |
| 19 | 9 | #include "emu.h" |
| r24590 | r24591 | |
| 72 | 62 | |
| 73 | 63 | UINT16 dblwings_pri_callback(UINT16 x) |
| 74 | 64 | { |
| 75 | | UINT16 pri = (x & 0xc000); // 2 bits or 1? |
| 76 | | switch (pri & 0xc000) |
| 77 | | { |
| 78 | | case 0x0000: pri = 0; break; |
| 79 | | case 0x4000: pri = 0xf0; break; |
| 80 | | case 0x8000: pri = 0xf0 | 0xcc; break; |
| 81 | | case 0xc000: pri = 0xf0 | 0xcc; break; /* or 0xf0|0xcc|0xaa ? */ |
| 82 | | } |
| 83 | | |
| 84 | | return pri; |
| 65 | return 0; // sprites always on top? |
| 85 | 66 | } |
| 86 | 67 | |
| 87 | 68 | |
| r24590 | r24591 | |
| 449 | 430 | } |
| 450 | 431 | |
| 451 | 432 | |
| 452 | | GAME( 1993, dblewing, 0, dblewing, dblewing, dblewing_state, dblewing, ROT90, "Mitchell", "Double Wings", GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) |
| 433 | GAME( 1993, dblewing, 0, dblewing, dblewing, dblewing_state, dblewing, ROT90, "Mitchell", "Double Wings", GAME_SUPPORTS_SAVE ) |