trunk/src/mame/machine/pgmprot_igs027a_type1.c
| r24601 | r24602 | |
| 648 | 648 | |
| 649 | 649 | |
| 650 | 650 | |
| 651 | | |
| 651 | // I think the values returned here must be connected to the values written to command 31 on startup |
| 652 | 652 | // 63/67 are used on startup to get the z80 music at least |
| 653 | 653 | case 0x63: // used as a read address by the 68k code (related to previous uploaded values like cave?) should point at a table of ~0x80 in size? seems to use values as further pointers? |
| 654 | 654 | if (m_value0==0x0000) |
| r24601 | r24602 | |
| 667 | 667 | { |
| 668 | 668 | m_valueresponse = 0x0016faa8; |
| 669 | 669 | } |
| 670 | else if (m_value0==0x0004) // 2 player demo |
| 671 | { |
| 672 | m_valueresponse = 0x00174416; |
| 673 | } |
| 670 | 674 | else |
| 671 | 675 | { |
| 672 | 676 | printf("unk case x63\n"); |
| r24601 | r24602 | |
| 680 | 684 | { |
| 681 | 685 | m_valueresponse = 0x00166178; // right for puzzli2 , wrong for puzzli2s, probably calculated from the writes then? |
| 682 | 686 | } |
| 687 | else if ( (m_value0==0x0004) ) // 2 player demo |
| 688 | { |
| 689 | m_valueresponse = 0x00166e72; |
| 690 | } |
| 683 | 691 | else |
| 684 | 692 | { |
| 685 | 693 | printf("unk case x67\n"); |