trunk/src/mame/machine/pgmprot_igs027a_type1.c
| r24618 | r24619 | |
| 566 | 566 | |
| 567 | 567 | static int hackcount = 0; |
| 568 | 568 | static int hackcount2 = 0; |
| 569 | static int hack_47_value = 0; |
| 569 | 570 | |
| 570 | 571 | void pgm_arm_type1_state::command_handler_puzzli2(int pc) |
| 571 | 572 | { |
| r24618 | r24619 | |
| 706 | 707 | |
| 707 | 708 | // 47 and 52 are used to get the images during the intro sequence, different each loop |
| 708 | 709 | // also some other gfx? |
| 710 | // logic here seems correct, not sure where the 0x19 and 0x5 etc. come from tho! |
| 709 | 711 | case 0x47: |
| 710 | | printf("which %04x\n", m_value0); |
| 712 | hack_47_value = ((m_value0 & 0x0700)>>8) * 0x19; |
| 713 | hack_47_value = ((m_value0 & 0x0007)>>0) * 0x05; |
| 714 | if (m_value0 & 0xf8f8) printf("unhandled 0x47 bits %04x\n", m_value0); |
| 715 | |
| 711 | 716 | m_valueresponse = 0x00740047; |
| 717 | |
| 712 | 718 | break; |
| 713 | 719 | |
| 714 | 720 | case 0x52: |
| 715 | | printf("which %04x\n", m_value0); |
| 716 | | m_valueresponse = 0x00740060; |
| 721 | //printf("which %04x\n", m_value0); |
| 722 | |
| 723 | hack_47_value += m_value0 & 0x0007; |
| 724 | if (m_value0 & 0xfff8) printf("unhandled 0x52 bits %04x\n", m_value0); |
| 725 | |
| 726 | m_valueresponse = 0x00740000 | (hack_47_value & 0xffff); |
| 717 | 727 | break; |
| 718 | 728 | |
| 719 | 729 | |