Previous 199869 Revisions Next

r24556 Monday 29th July, 2013 at 18:01:55 UTC by Michael Zapf
(MESS) ti99/8: Changed the speech chip and fixed incomplete address
mapping behavior
[src/mess/drivers]ti99_8.c
[src/mess/machine/ti99]speech8.c

trunk/src/mess/machine/ti99/speech8.c
r24555r24556
123123   if (VERBOSE>4) LOG("speech8: reset\n");
124124}
125125
126// Unlike the TI-99/4A, the 99/8 uses the TMS5220
126// Unlike the TI-99/4A, the 99/8 uses the TMS5220C
127127MACHINE_CONFIG_FRAGMENT( ti998_speech )
128128   MCFG_DEVICE_ADD("vsm", SPEECHROM, 0)
129129
130130   MCFG_SPEAKER_STANDARD_MONO("mono")
131   MCFG_SOUND_ADD(SPEECHSYN_TAG, TMS5220, 640000L)
131   MCFG_SOUND_ADD(SPEECHSYN_TAG, TMS5220C, 640000L)
132132   MCFG_TMS52XX_READYQ_HANDLER(WRITELINE(ti998_spsyn_device, speech8_ready))
133133   MCFG_TMS52XX_SPEECHROM("vsm")
134134   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
trunk/src/mess/drivers/ti99_8.c
r24555r24556
855855static const mapper8_list_entry mapper_devices[] =
856856{
857857   // TI-99/4A mode (CRUS=1)
858   // Full/partial decoding has been verified on a real machine
858859   // GROMs: According to the spec, the 99/8 supports up to 4 GROM libraries
859860   // (99/4A supports 256 libraries)
860861   // at 9800, 9804, 9808, 980c. Address counter access is at 9802,6,a,e. Write access +0400.
861862   { ROM0NAME,         TI99EM, STOP, 0x0000, 0xe000, 0x0000    },  // 0000-1fff
862863
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
866867   { SRAMNAME,         TI99EM, STOP, 0x8000, 0xf800, 0x0000    },  // 8000-87ff; must follow the sound generator
867868   { MAPPER_TAG,       TI99EM, STOP, 0x8810, 0xfff0, 0x0000    },
868869
r24555r24556
872873   { GROMPORT_TAG,     TI99EM, CONT, 0x9800, 0xfff1, 0x0400    },  // dto.  use internal address counter and id)
873874
874875   // 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
875882   { 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
879886   { MAPPER_TAG,       NATIVE, STOP, 0xf870, 0xfff0, 0x0000    },
880887
881888   { GROM0_TAG,        NATIVE, CONT, 0xf830, 0xfff1, 0x0000    },  // f830-f83e (4 banks), no different read/write ports

Previous 199869 Revisions Next


© 1997-2024 The MAME Team