trunk/src/mame/machine/pgmprot_igs027a_type1.c
| r24684 | r24685 | |
| 777 | 777 | |
| 778 | 778 | |
| 779 | 779 | |
| 780 | | |
| 781 | | |
| 780 | |
| 782 | 781 | |
| 783 | 782 | */ |
| 784 | 783 | |
| r24684 | r24685 | |
| 1917 | 1916 | int full_entry = 0; |
| 1918 | 1917 | int prev_tablloc = 0; |
| 1919 | 1918 | int x = 0; |
| 1919 | int numbercolumns = 0; |
| 1920 | int depth; |
| 1921 | |
| 1920 | 1922 | for (x=val1; x<val2;x++) |
| 1921 | 1923 | { |
| 1922 | 1924 | |
| r24684 | r24685 | |
| 1938 | 1940 | |
| 1939 | 1941 | if (stage==0) |
| 1940 | 1942 | { |
| 1941 | | printf("%02x <- Unknown\n", rawvalue); |
| 1942 | 1943 | stage = 1; |
| 1944 | |
| 1945 | // this seems to be the first thing returned back when reading the level structure always seems to be 0x8 or 0x7, makes sense, levels would be too difficult otherwise ;-) (actually puzzli2 seems to have one specifying 5 unless it's a decrypt table error?!) |
| 1946 | depth = (rawvalue & 0xf0); |
| 1947 | numbercolumns = (rawvalue & 0x0f); |
| 1948 | numbercolumns++; |
| 1949 | |
| 1950 | printf("%02x <- Sizes (level depth %01x) (number of columns %01x)", rawvalue, depth>>4, numbercolumns); |
| 1951 | |
| 1952 | |
| 1953 | if ((depth != 0x80) && (depth != 0x70) && (depth != 0x50)) |
| 1954 | fatalerror("depth isn't 0x5, 0x7 or 0x8"); |
| 1955 | |
| 1956 | |
| 1957 | |
| 1958 | // it seems to use this to specify the number of columns, ie how many data structures follow, so that the ARM knows when to send back the 'finished' flag. |
| 1959 | // it also gets returned at the end with said flag |
| 1960 | if ((numbercolumns != 0x6) && (numbercolumns != 0x7) && (numbercolumns != 0x8)) |
| 1961 | fatalerror("number of columns specified isn't 6,7, or 8"); |
| 1962 | |
| 1963 | printf("\n"); |
| 1964 | |
| 1943 | 1965 | } |
| 1944 | 1966 | else if (stage==1) |
| 1945 | 1967 | { |
| r24684 | r24685 | |
| 2028 | 2050 | } |
| 2029 | 2051 | else if (stage==3) |
| 2030 | 2052 | { |
| 2031 | | printf("%02x <- fish\n", rawvalue); |
| 2053 | // some of these might be due to bad decrypt values in the table |
| 2054 | if (rawvalue==0x00) printf("%02x <- fish type 0\n", rawvalue); |
| 2055 | else if (rawvalue==0x01) printf("%02x <- fish type 1\n", rawvalue); |
| 2056 | else if (rawvalue==0x02) printf("%02x <- fish type 2\n", rawvalue); |
| 2057 | else if (rawvalue==0x03) printf("%02x <- fish type 3\n", rawvalue); |
| 2058 | else if (rawvalue==0x04) printf("%02x <- fish type 4\n", rawvalue); |
| 2059 | else if (rawvalue==0x05) printf("%02x <- fish type 5\n", rawvalue); |
| 2060 | else if (rawvalue==0x06) printf("%02x <- fish type 6\n", rawvalue); |
| 2061 | else if (rawvalue==0x07) printf("%02x <- fish type 7\n", rawvalue); |
| 2062 | |
| 2063 | else if (rawvalue==0x08) printf("%02x <- ?? 08\n", rawvalue); |
| 2064 | |
| 2065 | else if (rawvalue==0x0b) printf("%02x <- ?? 0b\n", rawvalue); |
| 2066 | else if (rawvalue==0x0c) printf("%02x <- ?? 0c\n", rawvalue); |
| 2067 | else if (rawvalue==0x0d) printf("%02x <- ?? 0d\n", rawvalue); |
| 2068 | else if (rawvalue==0x0e) printf("%02x <- ?? 0e\n", rawvalue); |
| 2069 | else if (rawvalue==0x0f) printf("%02x <- ?? 0f\n", rawvalue); |
| 2070 | else if (rawvalue==0x10) printf("%02x <- ?? 10\n", rawvalue); |
| 2071 | else if (rawvalue==0x11) printf("%02x <- ?? 11\n", rawvalue); |
| 2072 | else if (rawvalue==0x12) printf("%02x <- ?? 12\n", rawvalue); |
| 2073 | else if (rawvalue==0x13) printf("%02x <- ?? 13\n", rawvalue); |
| 2074 | else if (rawvalue==0x14) printf("%02x <- ?? 14\n", rawvalue); |
| 2075 | else if (rawvalue==0x15) printf("%02x <- ?? 15\n", rawvalue); |
| 2076 | else if (rawvalue==0x16) printf("%02x <- ?? 16\n", rawvalue); |
| 2077 | else if (rawvalue==0x17) printf("%02x <- ?? 17\n", rawvalue); |
| 2078 | else if (rawvalue==0x18) printf("%02x <- ?? 18\n", rawvalue); |
| 2079 | else if (rawvalue==0x19) printf("%02x <- ?? 19\n", rawvalue); |
| 2080 | |
| 2081 | else if (rawvalue==0x1e) printf("%02x <- ?? 1e\n", rawvalue); |
| 2082 | |
| 2083 | else if (rawvalue==0x21) printf("%02x <- ?? 21\n", rawvalue); // puzzli2 |
| 2084 | else if (rawvalue==0x22) printf("%02x <- ?? 22\n", rawvalue); |
| 2085 | else if (rawvalue==0x23) printf("%02x <- ?? 23\n", rawvalue); |
| 2086 | else if (rawvalue==0x24) printf("%02x <- ?? 24\n", rawvalue); |
| 2087 | else if (rawvalue==0x25) printf("%02x <- ?? 25\n", rawvalue); |
| 2088 | else if (rawvalue==0x26) printf("%02x <- ?? 26\n", rawvalue); |
| 2089 | else if (rawvalue==0x27) printf("%02x <- ?? 27\n", rawvalue); |
| 2090 | else if (rawvalue==0x28) printf("%02x <- ?? 28\n", rawvalue); |
| 2091 | else if (rawvalue==0x29) printf("%02x <- ?? 29\n", rawvalue); |
| 2092 | else if (rawvalue==0x2a) printf("%02x <- ?? 2a\n", rawvalue); |
| 2093 | |
| 2094 | else if (rawvalue==0x32) printf("%02x <- ?? 32\n", rawvalue); // puzzli2 |
| 2095 | else if (rawvalue==0x33) printf("%02x <- ?? 33\n", rawvalue); // puzzli2 |
| 2096 | else if (rawvalue==0x35) printf("%02x <- ?? 35\n", rawvalue); |
| 2097 | else if (rawvalue==0x38) printf("%02x <- ?? 38\n", rawvalue); // puzzli2 |
| 2098 | |
| 2099 | else if (rawvalue==0x41) printf("%02x <- ?? 41\n", rawvalue); // puzzli2 |
| 2100 | else if (rawvalue==0x43) printf("%02x <- ?? 43\n", rawvalue); // puzzli2 |
| 2101 | |
| 2102 | else if (rawvalue==0xd0) printf("%02x <- ?? d0\n", rawvalue); |
| 2103 | |
| 2104 | else if (rawvalue==0xe0) printf("%02x <- ?? e0\n", rawvalue); |
| 2105 | else if (rawvalue==0xe1) printf("%02x <- ?? e1\n", rawvalue); |
| 2106 | else if (rawvalue==0xe2) printf("%02x <- ?? e2\n", rawvalue); |
| 2107 | else if (rawvalue==0xe3) printf("%02x <- ?? e3\n", rawvalue); |
| 2108 | else if (rawvalue==0xe4) printf("%02x <- ?? e3\n", rawvalue); |
| 2109 | |
| 2110 | |
| 2111 | else printf("%02x <- unknown object\n", rawvalue); |
| 2112 | |
| 2032 | 2113 | entries_left--; |
| 2033 | 2114 | if (entries_left == 0) |
| 2034 | 2115 | { |
| r24684 | r24685 | |
| 2052 | 2133 | if ((currentcolumn!=0x6) && (currentcolumn!=0x7) && (currentcolumn!=0x8)) // 5 is suspicious |
| 2053 | 2134 | fatalerror("invalid number of columns?\n"); |
| 2054 | 2135 | |
| 2136 | if (numbercolumns != currentcolumn) |
| 2137 | fatalerror("mismatch in number of columns vs specified amount\n"); |
| 2138 | |
| 2055 | 2139 | printf("\n"); |
| 2056 | 2140 | |
| 2057 | 2141 | } |