Previous 199869 Revisions Next

r33318 Monday 10th November, 2014 at 16:34:06 UTC by hap
minor fixes
[src/emu/cpu/tms0980]tms0980.c

trunk/src/emu/cpu/tms0980/tms0980.c
r241829r241830
1212---------+-----------+----------+--------+--------+--------|----------
1313tms0970  | 1024 *  8 |  64 *  4 |        |        |        | tms0972
1414tms0920* |  511?*  9 |  40 *  5 |        |        |        | tmc0921
15tms0980  | 2048 *  9 |  64 *  9 |        |        |        | tmc0981
15tms0980  | 2048 *  9 |  64 *  9?|        |        |        | tmc0981
1616tms1000  | 1024 *  8 |  64 *  4 |     11 |      8 |      4 | tms1001
1717tms1040* | 1024 *  8 |  64 *  4 |        |        |        | tms1043
1818tms1070  | 1024 *  8 |  64 *  4 |     11 |      8 |      4 | tms1071
r241829r241830
203203#define I_DAN       ( MICRO_MASK | M_CKP | M_ATN | M_CIN | M_C8 | M_AUTA )
204204#define I_DMAN      ( MICRO_MASK | M_MTP | M_15TN | M_C8 | M_AUTA )
205205#define I_DMEA      ( MICRO_MASK | M_MTP | M_DMTP | M_SSS | M_AUTA )
206#define I_NDMEA     ( MICRO_MASK | M_MTN | M_NDMTP | M_SSS | M_AUTA )
206207#define I_DNAA      ( MICRO_MASK | M_DMTP | M_NATN | M_SSS | M_AUTA )
207208#define I_DYN       ( MICRO_MASK | M_YTP | M_15TN | M_C8 | M_AUTY )
208209#define I_IA        ( MICRO_MASK | M_ATN | M_CIN | M_AUTA )
r241829r241830
211212#define I_KNEZ      ( MICRO_MASK | M_CKP | M_NE )
212213#define I_MNEA      ( MICRO_MASK | M_MTP | M_ATN | M_NE )
213214#define I_MNEZ      ( MICRO_MASK | M_MTP | M_NE )
214#define I_M_NDMEA   ( MICRO_MASK | M_MTN | M_NDTMP | M_SSS | M_AUTA )
215215#define I_SAMAN     ( MICRO_MASK | M_MTP | M_NATN | M_CIN | M_C8 | M_AUTA )
216216#define I_SETR      ( MICRO_MASK | M_YTP | M_15TN | M_AUTY | M_C8 )
217217#define I_TAM       ( MICRO_MASK | M_STO )
r241829r241830
248248   /* 0x000 */
249249   F_COMX, I_ALEM, I_YNEA, I_XMA, I_DYN, I_IYC, I_CLA, I_DMAN,
250250   I_TKA, I_MNEA, I_TKM, F_ILL, F_ILL, F_SETR, I_KNEZ, F_ILL,
251   I_DMEA, I_DNAA, I_CCLA, I_DMEA, F_ILL, I_AMAAC, F_ILL, F_ILL,
251   I_DMEA, I_DNAA, I_CCLA, I_NDMEA, F_ILL, I_AMAAC, F_ILL, F_ILL,
252252   I_CTMDYN, I_XDA, F_ILL, F_ILL, F_ILL, F_ILL, F_ILL, F_ILL,
253253   I_TBIT, I_TBIT, I_TBIT, I_TBIT, F_ILL, F_ILL, F_ILL, F_ILL,
254254   I_TAY, I_TMA, I_TMY, I_TYA, I_TAMDYN, I_TAMIYC, I_TAMZA, I_TAM,
r241829r241830
406406};
407407
408408
409static ADDRESS_MAP_START(tms0980_internal_rom, AS_PROGRAM, 16, tms1xxx_cpu_device)
410   AM_RANGE( 0x0000, 0x0FFF ) AM_ROM
409static ADDRESS_MAP_START(program_11bit_9, AS_PROGRAM, 16, tms1xxx_cpu_device)
410   AM_RANGE( 0x000, 0xfff ) AM_ROM
411411ADDRESS_MAP_END
412412
413413
414static ADDRESS_MAP_START(tms0980_internal_ram, AS_DATA, 8, tms1xxx_cpu_device)
415   AM_RANGE( 0x0000, 0x0FFF ) AM_RAM
416ADDRESS_MAP_END
417
418
419414static ADDRESS_MAP_START(program_10bit_8, AS_PROGRAM, 8, tms1xxx_cpu_device)
420415   AM_RANGE( 0x000, 0x3ff ) AM_ROM
421416ADDRESS_MAP_END
r241829r241830
637632      nand322 means if pc = 0x3f, output MUST be true
638633      hence, nand325 is if pc = 0x7f, false. if pc = 0x3f, true. if pc&0x60 is zero OR pc&0x60 is 0x60, true. otherwise, false.
639634
640      tms0980_next_pc below implements an indentical function to this in a somewhat more elegant way.
635      tms0980_next_pc below implements an identical function to this in a somewhat more elegant way.
641636*/
642637void tms1xxx_cpu_device::next_pc()
643638{
r241829r241830
10251020
10261021tms0980_cpu_device::tms0980_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
10271022   : tms1xxx_cpu_device( mconfig, TMS0980, "TMS0980", tag, owner, clock, tms0980_decode, 0x00ff, 0x07ff, 7, 9, 4
1028                  , 12, ADDRESS_MAP_NAME( tms0980_internal_rom ), 7, ADDRESS_MAP_NAME( tms0980_internal_ram ), "tms0980", __FILE__)
1023                  , 12, ADDRESS_MAP_NAME( program_11bit_9 ), 6, ADDRESS_MAP_NAME( data_6bit ), "tms0980", __FILE__)
10291024{
10301025}
10311026
r241829r241830
10391034
10401035tms1000_cpu_device::tms1000_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
10411036   : tms1xxx_cpu_device( mconfig, TMS1000, "TMS1000", tag, owner, clock, tms1000_default_decode, 0x00ff, 0x07ff, 6, 8, 2
1042                  , 11, ADDRESS_MAP_NAME( program_11bit_8 ), 7, ADDRESS_MAP_NAME( data_7bit ), "tms1000", __FILE__)
1037                  , 10, ADDRESS_MAP_NAME( program_10bit_8 ), 6, ADDRESS_MAP_NAME( data_6bit ), "tms1000", __FILE__)
10431038{
10441039}
10451040


Previous 199869 Revisions Next


© 1997-2024 The MAME Team