trunk/src/mame/machine/raiden2cop.c
| r32389 | r32390 | |
| 280 | 280 | |
| 281 | 281 | int command; |
| 282 | 282 | |
| 283 | | printf("## - trig (masked) : (sq0, sq1, sq2, sq3, sq4, sq5, sq6, sq7) valu mask\n"); |
| 283 | printf("## - trig (up5) (low11) : (sq0, sq1, sq2, sq3, sq4, sq5, sq6, sq7) valu mask\n"); |
| 284 | 284 | |
| 285 | 285 | for (command = 0; command < 0x20; command++) |
| 286 | 286 | { |
| 287 | 287 | if (cop_func_trigger[command] != 0x0000) |
| 288 | 288 | { |
| 289 | | int maskout = 0x0080; |
| 289 | int maskout = 0x07ff; |
| 290 | 290 | |
| 291 | | printf("%02x - %04x (%04x ) : ", command, cop_func_trigger[command], cop_func_trigger[command] & ~maskout); |
| 291 | printf("%02x - %04x ( %02x) ( %03x) : ", command, cop_func_trigger[command], (cop_func_trigger[command] & ~maskout)>>11, (cop_func_trigger[command] & maskout)); |
| 292 | 292 | |
| 293 | 293 | printf("("); |
| 294 | 294 | int seqpos; |
| r32389 | r32390 | |
| 310 | 310 | #endif |
| 311 | 311 | } |
| 312 | 312 | |
| 313 | |
| 313 | 314 | WRITE16_MEMBER(raiden2cop_device::cop_pgm_addr_w) |
| 314 | 315 | { |
| 315 | 316 | assert(ACCESSING_BITS_0_7 && ACCESSING_BITS_8_15); |
| r32389 | r32390 | |
| 761 | 762 | |
| 762 | 763 | /* Main COP functionality */ |
| 763 | 764 | |
| 765 | // notes about tables: |
| 766 | // in all but one case the upload table position (5-bits) is the SAME as the upper 5-bits of the 'trigger value' |
| 767 | // the exception to this rule is program 0x18 uploads on zeroteam |
| 768 | // in this case you can see that the 'trigger' value upper bits are 0x0f, this makes it a potentially interesting case (if it gets used) |
| 769 | // 18 - c480 ( 18) ( 480) : (080, 882, 000, 000, 000, 000, 000, 000) a ff00 (legionna, heatbrl, cupsoc, grainbow, godzilla, denjinmk) |
| 770 | // 18 - 7c80 ( 0f) ( 480) : (080, 882, 000, 000, 000, 000, 000, 000) a ff00 (zeroteam, xsedae) |
| 771 | |
| 772 | // It is unknown if the lower 11 bits uploaded as part of the 'trigger' value to the table are used during execution. |
| 773 | // When the actual trigger is written these bits can be different to the upload and for the written value we know they give extended |
| 774 | // meanings to the commands (eg. signs swapped in operations - for program 0x01 (0905) Zero Team writes 0904 (lowest bit different to uploaded |
| 775 | // value) to negate the logic |
| 776 | |
| 764 | 777 | /* |
| 765 | | (masked) just assumes 0x0080 masked out, actual masking / command selection is more complex, it seems bit 0x0001 is masked too (used for sign in 0904 / 0905) and more |
| 766 | 778 | |
| 767 | | ## - trig (masked) : (sq0, sq1, sq2, sq3, sq4, sq5, sq6, sq7) valu mask |
| 768 | | 00 - 0205 (0205 ) : (188, 282, 082, b8e, 98e, 000, 000, 000) 6 ffeb (heatbrl, legionna, cupsoc, godzilla, grainbow, denjinmk, raiden2, raidendx, zeroteam, xsedae) |
| 769 | | 00 - 0105 (0105 ) : (180, 2e0, 0a0, 000, 000, 000, 000, 000) 6 fffb (zeroteamsr) |
| 779 | ## - trig (up5) (low11) : (sq0, sq1, sq2, sq3, sq4, sq5, sq6, sq7) valu mask |
| 780 | 00 - 0205 ( 00) ( 205) : (188, 282, 082, b8e, 98e, 000, 000, 000) 6 ffeb (legionna, heatbrl, cupsoc, grainbow, godzilla, denjinmk, raiden2, raidendx, zeroteam, xsedae) |
| 781 | 00 - 0105 ( 00) ( 105) : (180, 2e0, 0a0, 000, 000, 000, 000, 000) 6 fffb (zeroteamsr) |
| 770 | 782 | */ |
| 771 | 783 | void raiden2cop_device::execute_0205(address_space &space, int offset, UINT16 data) |
| 772 | 784 | { |
| r32389 | r32390 | |
| 778 | 790 | } |
| 779 | 791 | |
| 780 | 792 | /* |
| 781 | | 01 - 0905 (0905 ) : (194, 288, 088, 000, 000, 000, 000, 000) 6 fbfb (heatbrl, legionna, cupsoc, godzilla, grainbow, denjinmk, raiden2, raidendx, zeroteam, xsedae) |
| 782 | | 01 - 0b05 (0b05 ) : (180, 2e0, 0a0, 182, 2e0, 0c0, 000, 000) 6 ffdb (zeroteamsr) |
| 793 | ## - trig (up5) (low11) : (sq0, sq1, sq2, sq3, sq4, sq5, sq6, sq7) valu mask |
| 794 | 01 - 0905 ( 01) ( 105) : (194, 288, 088, 000, 000, 000, 000, 000) 6 fbfb (legionna, heatbrl, cupsoc, grainbow, godzilla, denjinmk, raiden2, raidendx, zeroteam, xsedae) |
| 795 | 01 - 0b05 ( 01) ( 305) : (180, 2e0, 0a0, 182, 2e0, 0c0, 000, 000) 6 ffdb (zeroteamsr) |
| 783 | 796 | */ |
| 784 | 797 | |
| 785 | 798 | // triggered with 0904 0905 |
| r32389 | r32390 | |
| 796 | 809 | |
| 797 | 810 | |
| 798 | 811 | /* |
| 799 | | 02 - 138e (130e ) : (984, aa4, d82, aa2, 39b, b9a, b9a, b9a) 5 bf7f (heatbrl, legionna) |
| 800 | | 02 - 138e (130e ) : (984, aa4, d82, aa2, 39b, b9a, b9a, a9a) 5 bf7f (cupsoc, godzilla, grainbow, denjinmk) |
| 801 | | 02 - 130e (130e ) : (984, aa4, d82, aa2, 39b, b9a, b9a, a9a) 5 bf7f (raiden2, raidendx, zeroteam, xsedae) |
| 812 | ## - trig (up5) (low11) : (sq0, sq1, sq2, sq3, sq4, sq5, sq6, sq7) valu mask |
| 813 | 02 - 138e ( 02) ( 38e) : (984, aa4, d82, aa2, 39b, b9a, b9a, b9a) 5 bf7f (legionna, heatbrl) |
| 814 | 02 - 138e ( 02) ( 38e) : (984, aa4, d82, aa2, 39b, b9a, b9a, a9a) 5 bf7f (cupsoc, grainbow, godzilla, denjinmk) |
| 815 | 02 - 130e ( 02) ( 30e) : (984, aa4, d82, aa2, 39b, b9a, b9a, a9a) 5 bf7f (raiden2, raidendx, zeroteam, xsedae) |
| 802 | 816 | */ |
| 803 | 817 | |
| 804 | 818 | // triggered with 130e, 138e |
| r32389 | r32390 | |
| 857 | 871 | } |
| 858 | 872 | |
| 859 | 873 | /* |
| 860 | | 03 - 1905 (1905 ) : (994, a88, 088, 000, 000, 000, 000, 000) 6 fbfb (heatbrl, legionna, cupsoc, godzilla, grainbow, denjinmk, raiden2, raidendx, zeroteam, xsedae) |
| 874 | ## - trig (up5) (low11) : (sq0, sq1, sq2, sq3, sq4, sq5, sq6, sq7) valu mask |
| 875 | 03 - 1905 ( 03) ( 105) : (994, a88, 088, 000, 000, 000, 000, 000) 6 fbfb (legionna, heatbrl, cupsoc, grainbow, godzilla, denjinmk, raiden2, raidendx, zeroteam, xsedae) |
| 861 | 876 | */ |
| 862 | 877 | |
| 863 | 878 | /* |
| 864 | | 04 - 2288 (2208 ) : (f8a, b8a, 388, b9c, b9a, a9a, 000, 000) 5 f5df (heatbrl, legionna) |
| 865 | | 04 - 2288 (2208 ) : (f8a, b8a, 388, b9a, b9a, a9a, 000, 000) 5 f5df (cupsoc, godzilla, grainbow, denjinmk) |
| 866 | | 04 - 2208 (2208 ) : (f8a, b8a, 388, b9a, b9a, a9a, 000, 000) 5 f5df (raiden2, raidendx, zeroteam, xsedae) |
| 879 | ## - trig (up5) (low11) : (sq0, sq1, sq2, sq3, sq4, sq5, sq6, sq7) valu mask |
| 880 | 04 - 2288 ( 04) ( 288) : (f8a, b8a, 388, b9c, b9a, a9a, 000, 000) 5 f5df (legionna, heatbrl) |
| 881 | 04 - 2288 ( 04) ( 288) : (f8a, b8a, 388, b9a, b9a, a9a, 000, 000) 5 f5df (cupsoc, grainbow, godzilla, denjinmk) |
| 882 | 04 - 2208 ( 04) ( 208) : (f8a, b8a, 388, b9a, b9a, a9a, 000, 000) 5 f5df (raiden2, raidendx, zeroteam, xsedae) |
| 867 | 883 | */ |
| 868 | 884 | |
| 869 | 885 | // also triggered with 0x2208 |
| r32389 | r32390 | |
| 888 | 904 | } |
| 889 | 905 | |
| 890 | 906 | /* |
| 891 | | 05 - 2a05 (2a05 ) : (9af, a82, 082, a8f, 18e, 000, 000, 000) 6 ebeb (heatbrl, legionna, cupsoc, godzilla, grainbow, denjinmk, raiden2, raidendx, zeroteam, xsedae) |
| 907 | ## - trig (up5) (low11) : (sq0, sq1, sq2, sq3, sq4, sq5, sq6, sq7) valu mask |
| 908 | 05 - 2a05 ( 05) ( 205) : (9af, a82, 082, a8f, 18e, 000, 000, 000) 6 ebeb (legionna, heatbrl, cupsoc, grainbow, godzilla, denjinmk, raiden2, raidendx, zeroteam, xsedae) |
| 892 | 909 | */ |
| 893 | 910 | |
| 894 | 911 | void raiden2cop_device::execute_2a05(address_space &space, int offset, UINT16 data) |
| r32389 | r32390 | |
| 900 | 917 | |
| 901 | 918 | |
| 902 | 919 | /* |
| 903 | | 06 - 338e (330e ) : (984, aa4, d82, aa2, 39c, b9c, b9c, a9a) 5 bf7f (heatbrl, legionna, cupsoc, godzilla, grainbow, denjinmk, raiden2, raidendx) |
| 904 | | 06 - 330e (330e ) : (984, aa4, d82, aa2, 39c, b9c, b9c, a9a) 5 bf7f (zeroteam, xsedae) |
| 920 | ## - trig (up5) (low11) : (sq0, sq1, sq2, sq3, sq4, sq5, sq6, sq7) valu mask |
| 921 | 06 - 338e ( 06) ( 38e) : (984, aa4, d82, aa2, 39c, b9c, b9c, a9a) 5 bf7f (legionna, heatbrl, cupsoc, grainbow, godzilla, denjinmk, raiden2, raidendx) |
| 922 | 06 - 330e ( 06) ( 30e) : (984, aa4, d82, aa2, 39c, b9c, b9c, a9a) 5 bf7f (zeroteam, xsedae) |
| 905 | 923 | */ |
| 906 | 924 | void raiden2cop_device::execute_338e(address_space &space, int offset, UINT16 data) |
| 907 | 925 | { |
| r32389 | r32390 | |
| 924 | 942 | } |
| 925 | 943 | |
| 926 | 944 | /* |
| 927 | | 07 - 3bb0 (3b30 ) : (f9c, b9c, b9c, b9c, b9c, b9c, b9c, 99c) 4 007f (heatbrl, legionna, cupsoc, godzilla, grainbow, denjinmk, raiden2, raidendx) |
| 928 | | 07 - 3b30 (3b30 ) : (f9c, b9c, b9c, b9c, b9c, b9c, b9c, 99c) 4 007f (zeroteam, xsedae) |
| 945 | ## - trig (up5) (low11) : (sq0, sq1, sq2, sq3, sq4, sq5, sq6, sq7) valu mask |
| 946 | 07 - 3bb0 ( 07) ( 3b0) : (f9c, b9c, b9c, b9c, b9c, b9c, b9c, 99c) 4 007f (legionna, heatbrl, cupsoc, grainbow, godzilla, denjinmk, raiden2, raidendx, |
| 947 | 07 - 3b30 ( 07) ( 330) : (f9c, b9c, b9c, b9c, b9c, b9c, b9c, 99c) 4 007f (zeroteam, xsedae) |
| 929 | 948 | */ |
| 930 | 949 | |
| 931 | 950 | // triggered with 0x39b0, 0x3b30, 0x3bb0 |
| r32389 | r32390 | |
| 960 | 979 | } |
| 961 | 980 | |
| 962 | 981 | /* |
| 963 | | 08 - 42c2 (4242 ) : (f9a, b9a, b9c, b9c, b9c, 29c, 000, 000) 5 fcdd (heatbrl, legionna, cupsoc, godzilla, grainbow, denjinmk, raiden2, raidendx, zeroteam, xsedae) |
| 982 | ## - trig (up5) (low11) : (sq0, sq1, sq2, sq3, sq4, sq5, sq6, sq7) valu mask |
| 983 | 08 - 42c2 ( 08) ( 2c2) : (f9a, b9a, b9c, b9c, b9c, 29c, 000, 000) 5 fcdd (legionna, heatbrl, cupsoc, grainbow, godzilla, denjinmk, raiden2, raidendx, zeroteam, xsedae) |
| 964 | 984 | */ |
| 965 | 985 | void raiden2cop_device::execute_42c2(address_space &space, int offset, UINT16 data) |
| 966 | 986 | { |
| r32389 | r32390 | |
| 1007 | 1027 | } |
| 1008 | 1028 | |
| 1009 | 1029 | /* |
| 1010 | | 09 - 4aa0 (4a20 ) : (f9a, b9a, b9c, b9c, b9c, 99b, 000, 000) 5 fcdd (heatbrl, legionna, cupsoc, godzilla, grainbow, denjinmk, raiden2, raidendx, zeroteam, xsedae) |
| 1030 | ## - trig (up5) (low11) : (sq0, sq1, sq2, sq3, sq4, sq5, sq6, sq7) valu mask |
| 1031 | 09 - 4aa0 ( 09) ( 2a0) : (f9a, b9a, b9c, b9c, b9c, 99b, 000, 000) 5 fcdd (legionna, heatbrl, cupsoc, grainbow, godzilla, denjinmk, raiden2, raidendx, zeroteam, xsedae) |
| 1011 | 1032 | */ |
| 1012 | 1033 | void raiden2cop_device::execute_4aa0(address_space &space, int offset, UINT16 data) |
| 1013 | 1034 | { |
| r32389 | r32390 | |
| 1022 | 1043 | } |
| 1023 | 1044 | |
| 1024 | 1045 | /* |
| 1025 | | 0a - 5105 (5105 ) : (a80, 984, 082, 000, 000, 000, 000, 000) 5 fefb (cupsoc, grainbow) |
| 1026 | | 0a - 5205 (5205 ) : (180, 2e0, 3a0, 0a0, 3a0, 000, 000, 000) 6 fff7 (raiden2, raidendx) |
| 1027 | | 0a - 5105 (5105 ) : (180, 2e0, 0a0, 000, 000, 000, 000, 000) 6 fffb (zeroteam, xsedae) |
| 1046 | ## - trig (up5) (low11) : (sq0, sq1, sq2, sq3, sq4, sq5, sq6, sq7) valu mask |
| 1047 | 0a - 5105 ( 0a) ( 105) : (a80, 984, 082, 000, 000, 000, 000, 000) 5 fefb (cupsoc, grainbow) |
| 1048 | 0a - 5205 ( 0a) ( 205) : (180, 2e0, 3a0, 0a0, 3a0, 000, 000, 000) 6 fff7 (raiden2, raidendx) |
| 1049 | 0a - 5105 ( 0a) ( 105) : (180, 2e0, 0a0, 000, 000, 000, 000, 000) 6 fffb (zeroteam, xsedae) |
| 1028 | 1050 | */ |
| 1029 | 1051 | void raiden2cop_device::execute_5205(address_space &space, int offset, UINT16 data) |
| 1030 | 1052 | { |
| 1031 | 1053 | space.write_dword(cop_regs[1], space.read_dword(cop_regs[0])); |
| 1032 | 1054 | } |
| 1033 | 1055 | /* |
| 1034 | | 0b - 5905 (5905 ) : (9c8, a84, 0a2, 000, 000, 000, 000, 000) 5 fffb (cupsoc, grainbow) |
| 1035 | | 0b - 5a05 (5a05 ) : (180, 2e0, 3a0, 0a0, 3a0, 000, 000, 000) 6 fff7 (raiden2, raidendx) |
| 1036 | | 0b - 5a85 (5a05 ) : (180, 2e0, 0a0, 182, 2e0, 0c0, 3c0, 3c0) 6 ffdb (zeroteam, xsedae) |
| 1056 | ## - trig (up5) (low11) : (sq0, sq1, sq2, sq3, sq4, sq5, sq6, sq7) valu mask |
| 1057 | 0b - 5905 ( 0b) ( 105) : (9c8, a84, 0a2, 000, 000, 000, 000, 000) 5 fffb (cupsoc, grainbow) |
| 1058 | 0b - 5a05 ( 0b) ( 205) : (180, 2e0, 3a0, 0a0, 3a0, 000, 000, 000) 6 fff7 (raiden2, raidendx) |
| 1059 | 0b - 5a85 ( 0b) ( 285) : (180, 2e0, 0a0, 182, 2e0, 0c0, 3c0, 3c0) 6 ffdb (zeroteam, xsedae) |
| 1037 | 1060 | */ |
| 1038 | 1061 | void raiden2cop_device::execute_5a05(address_space &space, int offset, UINT16 data) |
| 1039 | 1062 | { |
| r32389 | r32390 | |
| 1041 | 1064 | } |
| 1042 | 1065 | |
| 1043 | 1066 | /* |
| 1044 | | 0c - 6200 (6200 ) : (380, 39a, 380, a80, 29a, 000, 000, 000) 8 f3e7 (heatbrl, legionna, godzilla, grainbow, denjinmk, raiden2, raidendx, zeroteam, xsedae) |
| 1045 | | 0c - 6200 (6200 ) : (3a0, 3a6, 380, aa0, 2a6, 000, 000, 000) 8 f3e7 (cupsoc) |
| 1046 | | |
| 1067 | ## - trig (up5) (low11) : (sq0, sq1, sq2, sq3, sq4, sq5, sq6, sq7) valu mask |
| 1068 | 0c - 6200 ( 0c) ( 200) : (380, 39a, 380, a80, 29a, 000, 000, 000) 8 f3e7 (legionn, heatbrla, grainbow, godzilla, denjinmk, raiden2, raidendx, zeroteam, xsedae) |
| 1069 | 0c - 6200 ( 0c) ( 200) : (3a0, 3a6, 380, aa0, 2a6, 000, 000, 000) 8 f3e7 (cupsoc) |
| 1047 | 1070 | */ |
| 1048 | 1071 | void raiden2cop_device::execute_6200(address_space &space, int offset, UINT16 data) |
| 1049 | 1072 | { |
| r32389 | r32390 | |
| 1187 | 1210 | } |
| 1188 | 1211 | |
| 1189 | 1212 | /* |
| 1190 | | |
| 1191 | | 0d - 6880 (6800 ) : (b80, ba0, 000, 000, 000, 000, 000, 000) a fff3 (heatbrl, legionna, cupsoc, godzilla, denjinmk) |
| 1192 | | 0d - 6980 (6900 ) : (b80, ba0, 000, 000, 000, 000, 000, 000) a fff3 (grainbow, zeroteam, xsedae) |
| 1213 | ## - trig (up5) (low11) : (sq0, sq1, sq2, sq3, sq4, sq5, sq6, sq7) valu mask |
| 1214 | 0d - 6880 ( 0d) ( 080) : (b80, ba0, 000, 000, 000, 000, 000, 000) a fff3 (legionna, heatbrl, cupsoc, godzilla, denjinmk) |
| 1215 | 0d - 6980 ( 0d) ( 180) : (b80, ba0, 000, 000, 000, 000, 000, 000) a fff3 (grainbow, zeroteam, xsedae) |
| 1193 | 1216 | */ |
| 1194 | 1217 | void raiden2cop_device::LEGACY_execute_6980(address_space &space, int offset, UINT16 data) |
| 1195 | 1218 | { |
| r32389 | r32390 | |
| 1215 | 1238 | } |
| 1216 | 1239 | |
| 1217 | 1240 | /* |
| 1241 | ## - trig (up5) (low11) : (sq0, sq1, sq2, sq3, sq4, sq5, sq6, sq7) valu mask |
| 1242 | 0e - 7100 ( 0e) ( 100) : (b80, a80, b80, 000, 000, 000, 000, 000) 8 fdfd (zeroteam, xsedae) |
| 1243 | */ |
| 1218 | 1244 | |
| 1219 | | 0e - 7100 (7100 ) : (b80, a80, b80, 000, 000, 000, 000, 000) 8 fdfd (zeroteam, xsedae) |
| 1220 | | |
| 1221 | | 0f - 7905 (7905 ) : (1a2, 2c2, 0a2, 000, 000, 000, 000, 000) 6 fffb (cupsoc, grainbow) |
| 1222 | | 0f - 7e05 (7e05 ) : (180, 282, 080, 180, 282, 000, 000, 000) 6 fffb (raidendx) |
| 1245 | /* |
| 1246 | ## - trig (up5) (low11) : (sq0, sq1, sq2, sq3, sq4, sq5, sq6, sq7) valu mask |
| 1247 | 0f - 7905 ( 0f) ( 105) : (1a2, 2c2, 0a2, 000, 000, 000, 000, 000) 6 fffb (cupsoc, grainbow) |
| 1248 | 0f - 7e05 ( 0f) ( 605) : (180, 282, 080, 180, 282, 000, 000, 000) 6 fffb (raidendx) |
| 1223 | 1249 | */ |
| 1224 | 1250 | |
| 1225 | 1251 | void raiden2cop_device::execute_7e05(address_space &space, int offset, UINT16 data) // raidendx |
| r32389 | r32390 | |
| 1228 | 1254 | } |
| 1229 | 1255 | |
| 1230 | 1256 | /* |
| 1231 | | 10 - 8100 (8100 ) : (b9a, b88, 888, 000, 000, 000, 000, 000) 7 fdfb (heatbrl, legionna, cupsoc, godzilla, grainbow, denjinmk, raiden2, raidendx, zeroteam, xsedae) |
| 1257 | ## - trig (up5) (low11) : (sq0, sq1, sq2, sq3, sq4, sq5, sq6, sq7) valu mask |
| 1258 | 10 - 8100 ( 10) ( 100) : (b9a, b88, 888, 000, 000, 000, 000, 000) 7 fdfb (legionna, heatbrl, cupsoc, grainbow, godzilla, denjinmk, raiden2, raidendx, zeroteam, xsedae) |
| 1232 | 1259 | */ |
| 1233 | 1260 | |
| 1234 | 1261 | void raiden2cop_device::execute_8100(address_space &space, int offset, UINT16 data) |
| r32389 | r32390 | |
| 1245 | 1272 | } |
| 1246 | 1273 | |
| 1247 | 1274 | /* |
| 1248 | | 11 - 8900 (8900 ) : (b9a, b8a, 88a, 000, 000, 000, 000, 000) 7 fdfb (heatbrl, legionna, cupsoc, godzilla, grainbow, denjinmk, raiden2, raidendx, zeroteam, xsedae) |
| 1275 | ## - trig (up5) (low11) : (sq0, sq1, sq2, sq3, sq4, sq5, sq6, sq7) valu mask |
| 1276 | 11 - 8900 ( 11) ( 100) : (b9a, b8a, 88a, 000, 000, 000, 000, 000) 7 fdfb (legionna, heatbrl, cupsoc, grainbow, godzilla, denjinmk, raiden2, raidendx, zeroteam, xsedae) |
| 1249 | 1277 | */ |
| 1250 | 1278 | void raiden2cop_device::execute_8900(address_space &space, int offset, UINT16 data) |
| 1251 | 1279 | { |
| r32389 | r32390 | |
| 1261 | 1289 | } |
| 1262 | 1290 | |
| 1263 | 1291 | /* |
| 1264 | | 12 - 9180 (9100 ) : (b80, b94, b94, 894, 000, 000, 000, 000) 7 f8f7 (heatbrl, legionna, cupsoc, godzilla, grainbow, denjinmk) |
| 1265 | | 12 - 9100 (9100 ) : (b80, b94, 894, 000, 000, 000, 000, 000) 7 fefb (raiden2, raidendx) |
| 1266 | | 12 - 9100 (9100 ) : (b80, b94, b94, 894, 000, 000, 000, 000) 7 f8f7 (zeroteam, xsedae) |
| 1292 | ## - trig (up5) (low11) : (sq0, sq1, sq2, sq3, sq4, sq5, sq6, sq7) valu mask |
| 1293 | 12 - 9180 ( 12) ( 180) : (b80, b94, b94, 894, 000, 000, 000, 000) 7 f8f7 (legionna, heatbrl, cupsoc, grainbow, godzilla, denjinmk) |
| 1294 | 12 - 9100 ( 12) ( 100) : (b80, b94, 894, 000, 000, 000, 000, 000) 7 fefb (raiden2, raidendx) |
| 1295 | 12 - 9100 ( 12) ( 100) : (b80, b94, b94, 894, 000, 000, 000, 000) 7 f8f7 (zeroteam, xsedae) |
| 1296 | */ |
| 1267 | 1297 | |
| 1268 | | 13 - 9980 (9900 ) : (b80, b96, b96, 896, 000, 000, 000, 000) 7 f8f7 (heatbrl, legionna) |
| 1269 | | 13 - 9980 (9900 ) : (b80, b94, b94, 896, 000, 000, 000, 000) 7 f8f7 (cupsoc, godzilla, grainbow, denjinmk) |
| 1270 | | 13 - 9900 (9900 ) : (b80, b94, 896, 000, 000, 000, 000, 000) 7 fefb (raiden2, raidendx) |
| 1271 | | 13 - 9900 (9900 ) : (b80, b94, b94, 896, 000, 000, 000, 000) 7 f8f7 (zeroteam, xsedae) |
| 1272 | | |
| 1273 | | // x |
| 1274 | | |
| 1298 | /* |
| 1299 | ## - trig (up5) (low11) : (sq0, sq1, sq2, sq3, sq4, sq5, sq6, sq7) valu mask |
| 1300 | 13 - 9980 ( 13) ( 180) : (b80, b96, b96, 896, 000, 000, 000, 000) 7 f8f7 (legionna, heatbrl) |
| 1301 | 13 - 9980 ( 13) ( 180) : (b80, b94, b94, 896, 000, 000, 000, 000) 7 f8f7 (cupsoc, grainbow, godzilla, denjinmk) |
| 1302 | 13 - 9900 ( 13) ( 100) : (b80, b94, 896, 000, 000, 000, 000, 000) 7 fefb (raiden2, raidendx) |
| 1303 | 13 - 9900 ( 13) ( 100) : (b80, b94, b94, 896, 000, 000, 000, 000) 7 f8f7 (zeroteam, xsedae) |
| 1275 | 1304 | */ |
| 1276 | 1305 | |
| 1277 | 1306 | /* |
| 1278 | | 14 - a100 (a100 ) : (b80, b82, b84, b86, 000, 000, 000, 000) 0 ffff (heatbrl, zeroteam, xsedae) |
| 1279 | | 14 - a180 (a100 ) : (b80, b82, b84, b86, 000, 000, 000, 000) 0 ffff (legionna, cupsoc, godzilla, denjinmk) |
| 1280 | | 14 - a180 (a100 ) : (b80, b82, b84, b86, 000, 000, 000, 000) 0 02ff (grainbow) |
| 1281 | | 14 - a100 (a100 ) : (b80, b82, b84, b86, 000, 000, 000, 000) 0 00ff (raiden2, raidendx) |
| 1307 | ## - trig (up5) (low11) : (sq0, sq1, sq2, sq3, sq4, sq5, sq6, sq7) valu mask |
| 1308 | 14 - a180 ( 14) ( 180) : (b80, b82, b84, b86, 000, 000, 000, 000) 0 ffff (legionna, cupsoc, godzilla, denjinmk) |
| 1309 | 14 - a100 ( 14) ( 100) : (b80, b82, b84, b86, 000, 000, 000, 000) 0 ffff (heatbrl, zeroteam, xsedae) |
| 1310 | 14 - a180 ( 14) ( 180) : (b80, b82, b84, b86, 000, 000, 000, 000) 0 02ff (grainbow) |
| 1311 | 14 - a100 ( 14) ( 100) : (b80, b82, b84, b86, 000, 000, 000, 000) 0 00ff (raiden2, raidendx) |
| 1282 | 1312 | */ |
| 1283 | 1313 | |
| 1284 | 1314 | // the last value (ffff / 02ff / 00ff depending on game) might be important here as they've been intentionally changed for the different games |
| r32389 | r32390 | |
| 1288 | 1318 | } |
| 1289 | 1319 | |
| 1290 | 1320 | /* |
| 1291 | | 15 - a900 (a900 ) : (ba0, ba2, ba4, ba6, 000, 000, 000, 000) f ffff (heatbrl, zeroteam, xsedae) |
| 1292 | | 15 - a980 (a900 ) : (ba0, ba2, ba4, ba6, 000, 000, 000, 000) f ffff (legionna, cupsoc, godzilla, denjinmk) |
| 1293 | | 15 - a980 (a900 ) : (ba0, ba2, ba4, ba6, 000, 000, 000, 000) f 02ff (grainbow) |
| 1294 | | 15 - a900 (a900 ) : (ba0, ba2, ba4, ba6, 000, 000, 000, 000) f 00ff (raiden2, raidendx) |
| 1295 | | */ |
| 1321 | ## - trig (up5) (low11) : (sq0, sq1, sq2, sq3, sq4, sq5, sq6, sq7) valu mask |
| 1322 | 15 - a980 ( 15) ( 180) : (ba0, ba2, ba4, ba6, 000, 000, 000, 000) f ffff (legionna, cupsoc, godzilla, denjinmk) |
| 1323 | 15 - a900 ( 15) ( 100) : (ba0, ba2, ba4, ba6, 000, 000, 000, 000) f ffff (heatbrl, zeroteam), xsedae |
| 1324 | 15 - a980 ( 15) ( 180) : (ba0, ba2, ba4, ba6, 000, 000, 000, 000) f 02ff (grainbow) |
| 1325 | 15 - a900 ( 15) ( 100) : (ba0, ba2, ba4, ba6, 000, 000, 000, 000) f 00ff (raiden2, raidendx)*/ |
| 1296 | 1326 | void raiden2cop_device::execute_a900(address_space &space, int offset, UINT16 data) |
| 1297 | 1327 | { |
| 1298 | 1328 | cop_collision_read_pos(space, 1, cop_regs[1], data & 0x0080); |
| r32389 | r32390 | |
| 1300 | 1330 | |
| 1301 | 1331 | |
| 1302 | 1332 | /* |
| 1303 | | 16 - b080 (b000 ) : (b40, bc0, bc2, 000, 000, 000, 000, 000) 9 ffff (heatbrl) |
| 1304 | | 16 - b100 (b100 ) : (b40, bc0, bc2, 000, 000, 000, 000, 000) 9 ffff (legionna, cupsoc, godzilla, grainbow, denjinmk, raiden2, raidendx, zeroteam, xsedae) |
| 1333 | ## - trig (up5) (low11) : (sq0, sq1, sq2, sq3, sq4, sq5, sq6, sq7) valu mask |
| 1334 | 16 - b100 ( 16) ( 100) : (b40, bc0, bc2, 000, 000, 000, 000, 000) 9 ffff (legionna, cupsoc, grainbow, godzilla, denjinmk, raiden2, raidendx, zeroteam, xsedae) |
| 1335 | 16 - b080 ( 16) ( 080) : (b40, bc0, bc2, 000, 000, 000, 000, 000) 9 ffff (heatbrl) |
| 1305 | 1336 | */ |
| 1306 | 1337 | void raiden2cop_device::execute_b100(address_space &space, int offset, UINT16 data) |
| 1307 | 1338 | { |
| r32389 | r32390 | |
| 1315 | 1346 | } |
| 1316 | 1347 | |
| 1317 | 1348 | /* |
| 1318 | | 17 - b880 (b800 ) : (b60, be0, be2, 000, 000, 000, 000, 000) 6 ffff (heatbrl) |
| 1319 | | 17 - b900 (b900 ) : (b60, be0, be2, 000, 000, 000, 000, 000) 6 ffff (legionna, cupsoc, godzilla, grainbow, denjinmk, raiden2, raidendx, zeroteam, xsedae) |
| 1349 | ## - trig (up5) (low11) : (sq0, sq1, sq2, sq3, sq4, sq5, sq6, sq7) valu mask |
| 1350 | 17 - b900 ( 17) ( 100) : (b60, be0, be2, 000, 000, 000, 000, 000) 6 ffff (legionna, cupsoc, grainbow, godzilla, denjinmk, raiden2, raidendx, zeroteam, xsedae) |
| 1351 | 17 - b880 ( 17) ( 080) : (b60, be0, be2, 000, 000, 000, 000, 000) 6 ffff (heatbrl) |
| 1320 | 1352 | */ |
| 1321 | 1353 | void raiden2cop_device::execute_b900(address_space &space, int offset, UINT16 data) |
| 1322 | 1354 | { |
| r32389 | r32390 | |
| 1329 | 1361 | } |
| 1330 | 1362 | |
| 1331 | 1363 | /* |
| 1332 | | 18 - c480 (c400 ) : (080, 882, 000, 000, 000, 000, 000, 000) a ff00 (heatbrl, legionna, cupsoc, godzilla, grainbow, denjinmk) |
| 1333 | | 18 - 7c80 (7c00 ) : (080, 882, 000, 000, 000, 000, 000, 000) a ff00 (zeroteam, xsedae) |
| 1364 | ## - trig (up5) (low11) : (sq0, sq1, sq2, sq3, sq4, sq5, sq6, sq7) valu mask |
| 1365 | 18 - c480 ( 18) ( 480) : (080, 882, 000, 000, 000, 000, 000, 000) a ff00 (legionna, heatbrl, cupsoc, grainbow, godzilla, denjinmk) |
| 1366 | 18 - 7c80 ( 0f) ( 480) : (080, 882, 000, 000, 000, 000, 000, 000) a ff00 (zeroteam, xsedae) |
| 1334 | 1367 | */ |
| 1335 | 1368 | |
| 1336 | 1369 | void raiden2cop_device::LEGACY_execute_c480(address_space &space, int offset, UINT16 data) |
| r32389 | r32390 | |
| 1345 | 1378 | } |
| 1346 | 1379 | |
| 1347 | 1380 | /* |
| 1348 | | 19 - cb8f (cb0f ) : (984, aa4, d82, aa2, 39b, b9a, b9a, a9f) 5 bf7f (cupsoc, grainbow) |
| 1381 | ## - trig (up5) (low11) : (sq0, sq1, sq2, sq3, sq4, sq5, sq6, sq7) valu mask |
| 1382 | 19 - cb8f ( 19) ( 38f) : (984, aa4, d82, aa2, 39b, b9a, b9a, a9f) 5 bf7f (cupsoc, grainbow) |
| 1383 | */ |
| 1349 | 1384 | |
| 1350 | | 1a - d104 (d104 ) : (ac2, 9e0, 0a2, 000, 000, 000, 000, 000) 5 fffb (cupsoc, grainbow) |
| 1385 | /* |
| 1386 | ## - trig (up5) (low11) : (sq0, sq1, sq2, sq3, sq4, sq5, sq6, sq7) valu mask |
| 1387 | 1a - d104 ( 1a) ( 104) : (ac2, 9e0, 0a2, 000, 000, 000, 000, 000) 5 fffb (cupsoc, grainbow) |
| 1351 | 1388 | */ |
| 1352 | 1389 | void raiden2cop_device::LEGACY_execute_d104(address_space &space, int offset, UINT16 data) |
| 1353 | 1390 | { |
| r32389 | r32390 | |
| 1361 | 1398 | logerror("%04x%04x %04x %04x\n", m_cop_rom_addr_hi, m_cop_rom_addr_lo, m_cop_rom_addr_unk, rom_data); |
| 1362 | 1399 | } |
| 1363 | 1400 | /* |
| 1364 | | 1b - dde5 (dd65 ) : (f80, aa2, 984, 0c2, 000, 000, 000, 000) 5 7ff7 (cupsoc, grainbow) |
| 1401 | ## - trig (up5) (low11) : (sq0, sq1, sq2, sq3, sq4, sq5, sq6, sq7) valu mask |
| 1402 | 1b - dde5 ( 1b) ( 5e5) : (f80, aa2, 984, 0c2, 000, 000, 000, 000) 5 7ff7 (cupsoc, grainbow) |
| 1365 | 1403 | */ |
| 1366 | 1404 | |
| 1367 | 1405 | void raiden2cop_device::LEGACY_execute_dde5(address_space &space, int offset, UINT16 data) |
| r32389 | r32390 | |
| 1400 | 1438 | } |
| 1401 | 1439 | |
| 1402 | 1440 | /* |
| 1403 | | 1c - e38e (e30e ) : (984, ac4, d82, ac2, 39b, b9a, b9a, a9a) 5 b07f (cupsoc, grainbow) |
| 1404 | | 1c - e105 (e105 ) : (a88, 994, 088, 000, 000, 000, 000, 000) 5 06fb (zeroteam, xsedae) |
| 1441 | ## - trig (up5) (low11) : (sq0, sq1, sq2, sq3, sq4, sq5, sq6, sq7) valu mask |
| 1442 | 1c - e38e ( 1c) ( 38e) : (984, ac4, d82, ac2, 39b, b9a, b9a, a9a) 5 b07f (cupsoc, grainbow) |
| 1443 | 1c - e105 ( 1c) ( 105) : (a88, 994, 088, 000, 000, 000, 000, 000) 5 06fb (zeroteam, xsedae) |
| 1405 | 1444 | */ |
| 1406 | 1445 | |
| 1407 | 1446 | void raiden2cop_device::LEGACY_execute_e30e(address_space &space, int offset, UINT16 data) |
| r32389 | r32390 | |
| 1430 | 1469 | } |
| 1431 | 1470 | |
| 1432 | 1471 | /* |
| 1433 | | 1d - eb8e (eb0e ) : (984, ac4, d82, ac2, 39b, b9a, b9a, a9f) 5 b07f (cupsoc, grainbow) |
| 1434 | | 1d - ede5 (ed65 ) : (f88, a84, 986, 08a, 000, 000, 000, 000) 5 05f7 (zeroteam, xsedae) |
| 1472 | ## - trig (up5) (low11) : (sq0, sq1, sq2, sq3, sq4, sq5, sq6, sq7) valu mask |
| 1473 | 1d - eb8e ( 1d) ( 38e) : (984, ac4, d82, ac2, 39b, b9a, b9a, a9f) 5 b07f (cupsoc, grainbow) |
| 1474 | 1d - ede5 ( 1d) ( 5e5) : (f88, a84, 986, 08a, 000, 000, 000, 000) 5 05f7 (zeroteam, xsedae) |
| 1475 | */ |
| 1435 | 1476 | |
| 1436 | | 1e - f105 (f105 ) : (a88, 994, 088, 000, 000, 000, 000, 000) 5 fefb (cupsoc, grainbow) |
| 1437 | | 1e - f205 (f205 ) : (182, 2e0, 3c0, 0c0, 3c0, 000, 000, 000) 6 fff7 (raiden2, raidendx) |
| 1438 | | 1e - f790 (f710 ) : (f80, b84, b84, b84, b84, b84, b84, b84) 4 00ff (zeroteam, xsedae) |
| 1477 | /* |
| 1478 | ## - trig (up5) (low11) : (sq0, sq1, sq2, sq3, sq4, sq5, sq6, sq7) valu mask |
| 1479 | 1e - f105 ( 1e) ( 105) : (a88, 994, 088, 000, 000, 000, 000, 000) 5 fefb (cupsoc, grainbow) |
| 1480 | 1e - f205 ( 1e) ( 205) : (182, 2e0, 3c0, 0c0, 3c0, 000, 000, 000) 6 fff7 (raiden2, raidendx) |
| 1481 | 1e - f790 ( 1e) ( 790) : (f80, b84, b84, b84, b84, b84, b84, b84) 4 00ff (zeroteam, xsedae) |
| 1439 | 1482 | */ |
| 1440 | 1483 | |
| 1441 | 1484 | void raiden2cop_device::execute_f205(address_space &space, int offset, UINT16 data) |
| r32389 | r32390 | |
| 1444 | 1487 | } |
| 1445 | 1488 | |
| 1446 | 1489 | /* |
| 1447 | | 1f - fc84 (fc04 ) : (182, 280, 000, 000, 000, 000, 000, 000) 6 00ff (zeroteam, xsedae) |
| 1490 | ## - trig (up5) (low11) : (sq0, sq1, sq2, sq3, sq4, sq5, sq6, sq7) valu mask |
| 1491 | 1f - fc84 ( 1f) ( 484) : (182, 280, 000, 000, 000, 000, 000, 000) 6 00ff (zeroteam, xsedae) |
| 1448 | 1492 | */ |
| 1449 | 1493 | |
| 1494 | |
| 1495 | |
| 1496 | |
| 1497 | |
| 1498 | |
| 1499 | |
| 1500 | |
| 1501 | |
| 1450 | 1502 | READ16_MEMBER( raiden2cop_device::cop_status_r) |
| 1451 | 1503 | { |
| 1452 | 1504 | return cop_status; |