trunk/src/mess/drivers/ti99_8.c
| r24555 | r24556 | |
| 855 | 855 | static const mapper8_list_entry mapper_devices[] = |
| 856 | 856 | { |
| 857 | 857 | // TI-99/4A mode (CRUS=1) |
| 858 | // Full/partial decoding has been verified on a real machine |
| 858 | 859 | // GROMs: According to the spec, the 99/8 supports up to 4 GROM libraries |
| 859 | 860 | // (99/4A supports 256 libraries) |
| 860 | 861 | // at 9800, 9804, 9808, 980c. Address counter access is at 9802,6,a,e. Write access +0400. |
| 861 | 862 | { ROM0NAME, TI99EM, STOP, 0x0000, 0xe000, 0x0000 }, // 0000-1fff |
| 862 | 863 | |
| 863 | | { TISOUND_TAG, TI99EM, STOP, 0x8400, 0xfff0, 0x0000 }, // 8400-840f |
| 864 | | { VIDEO_SYSTEM_TAG, TI99EM, STOP, 0x8800, 0xfffd, 0x0400 }, // 8800,8802 / 8c00,8c02 |
| 865 | | { SPEECH_TAG, TI99EM, STOP, 0x9000, 0xfff0, 0x0400 }, // 9000-900f / 9400-940f |
| 864 | { TISOUND_TAG, TI99EM, STOP, 0x8400, 0xfff1, 0x0000 }, // 8400-840f |
| 865 | { VIDEO_SYSTEM_TAG, TI99EM, STOP, 0x8800, 0xfff1, 0x0400 }, // 8800,8802 / 8c00,8c02 |
| 866 | { SPEECH_TAG, TI99EM, STOP, 0x9000, 0xfff1, 0x0400 }, // 9000-900f / 9400-940f |
| 866 | 867 | { SRAMNAME, TI99EM, STOP, 0x8000, 0xf800, 0x0000 }, // 8000-87ff; must follow the sound generator |
| 867 | 868 | { MAPPER_TAG, TI99EM, STOP, 0x8810, 0xfff0, 0x0000 }, |
| 868 | 869 | |
| r24555 | r24556 | |
| 872 | 873 | { GROMPORT_TAG, TI99EM, CONT, 0x9800, 0xfff1, 0x0400 }, // dto. use internal address counter and id) |
| 873 | 874 | |
| 874 | 875 | // TI-99/8 mode |
| 876 | // Full/partial decoding has been verified on a real machine |
| 877 | // Sound ports are at f800, f802, f804, ..., f80e |
| 878 | // VDP ports are (f810,f812), (f814,f816), (f818,f81a), (f81c,f81e) |
| 879 | // Note that unmapped GROM accesses (odd addresses like F831) return FF, |
| 880 | // not 00 as in our emulation, so that is not quite consistent, but tolerable ... I guess |
| 881 | |
| 875 | 882 | { SRAMNAME, NATIVE, STOP, 0xf000, 0xf800, 0x0000 }, // f000-f7ff |
| 876 | | { TISOUND_TAG, NATIVE, STOP, 0xf800, 0xfff0, 0x0000 }, // f800-f80f |
| 877 | | { VIDEO_SYSTEM_TAG, NATIVE, STOP, 0xf810, 0xfffd, 0x0000 }, // f810,2 (unlike 99/4A, no different read/write ports) |
| 878 | | { SPEECH_TAG, NATIVE, STOP, 0xf820, 0xfff0, 0x0000 }, // f820-f82f |
| 883 | { TISOUND_TAG, NATIVE, STOP, 0xf800, 0xfff1, 0x0000 }, // f800-f80e (even addresses) |
| 884 | { VIDEO_SYSTEM_TAG, NATIVE, STOP, 0xf810, 0xfff1, 0x0000 }, // f810,2 (unlike 99/4A, no different read/write ports) |
| 885 | { SPEECH_TAG, NATIVE, STOP, 0xf820, 0xfff1, 0x0000 }, // f820-f82f |
| 879 | 886 | { MAPPER_TAG, NATIVE, STOP, 0xf870, 0xfff0, 0x0000 }, |
| 880 | 887 | |
| 881 | 888 | { GROM0_TAG, NATIVE, CONT, 0xf830, 0xfff1, 0x0000 }, // f830-f83e (4 banks), no different read/write ports |