Previous 199869 Revisions Next

r19258 Sunday 2nd December, 2012 at 22:04:10 UTC by R. Belmont
h8: H8S analog I/O is now routed to the driver like in the original H8s [R. Belmont]
[src/emu/cpu/h83002]h8.h h8speriph.c

trunk/src/emu/cpu/h83002/h8.h
r19257r19258
8787   H8_ADC_2_L,
8888   H8_ADC_3_H,
8989   H8_ADC_3_L,
90   H8_ADC_4_H,
91   H8_ADC_4_L,
92   H8_ADC_5_H,
93   H8_ADC_5_L,
94   H8_ADC_6_H,
95   H8_ADC_6_L,
96   H8_ADC_7_H,
97   H8_ADC_7_L,
9098
9199   // serial ports
92100   H8_SERIAL_0 = 0x30,
r19257r19258
193201#define H8S_IO_SCMR2  H8S_IO(0xFF8E)
194202
195203// ADC
204#define H8S_IO_ADDRA  H8S_IO(0xFF90)
205#define H8S_IO_ADDRB  H8S_IO(0xFF92)
206#define H8S_IO_ADDRC  H8S_IO(0xFF94)
207#define H8S_IO_ADDRD  H8S_IO(0xFF96)
208#define H8S_IO_ADDRE  H8S_IO(0xFF98)
209#define H8S_IO_ADDRF  H8S_IO(0xFF9A)
210#define H8S_IO_ADDRG  H8S_IO(0xFF9C)
211#define H8S_IO_ADDRH  H8S_IO(0xFF9E)
196212#define H8S_IO_ADCSR  H8S_IO(0xFFA0)
197213#define H8S_IO_ADCR   H8S_IO(0xFFA1)
198214
trunk/src/emu/cpu/h83002/h8speriph.c
r19257r19258
13841384   verboselog( h8->device->machine(), 9, "%08X | %08X <- %02X\n", h8->ppc, H8S_IO_ADDR(offset), data);
13851385   switch (offset)
13861386   {
1387        #if 0
13881387      // SCI 0
13891388      case H8S_IO_SSR0  : h8->per_regs[offset] = data; if ((data & H8S_SSR_TDRE) == 0) h8s_sci_execute(h8, 0); break;
13901389      case H8S_IO_SCR0  : h8->per_regs[offset] = data; if (data & H8S_SCR_TIE) h8s2xxx_interrupt_request(h8, h8s_sci_entry(0)->int_tx); break;
r19257r19258
14071406      case H8S_IO_TCNT1  : h8s_tmr_x_write_tcnt( h8, 1, data); break;
14081407      case H8S_IO_TCORA1 : h8s_tmr_x_write_tcora( h8, 1, data); break;
14091408      case H8S_IO_TCORB1 : h8s_tmr_x_write_tcorb( h8, 1, data); break;
1410        #endif
14111409
1410      case H8S_IO_IER:
14121411        case H8S_IO_IFR:
14131412         h8->per_regs[offset] = data;
14141413            break;
r19257r19258
16201619      case H8S_IO_TCNT3_H : if (h8->tpu_max == 6) data = h8s_tpu_x_read_tcnt( h8, 3); break;
16211620      case H8S_IO_TCNT4_H : if (h8->tpu_max == 6) data = h8s_tpu_x_read_tcnt( h8, 4); break;
16221621      case H8S_IO_TCNT5_H : if (h8->tpu_max == 6) data = h8s_tpu_x_read_tcnt( h8, 5); break;
1622
1623      case H8S_IO_ADDRA: case H8S_IO_ADDRB: case H8S_IO_ADDRC: case H8S_IO_ADDRD:
1624      case H8S_IO_ADDRE: case H8S_IO_ADDRF: case H8S_IO_ADDRG: case H8S_IO_ADDRH:
1625         {
1626            int pbase = (offset - H8S_IO_ADDRA) + H8_ADC_0_H;
1627            data = (h8->io->read_byte(pbase) << 8);
1628            data |= h8->io->read_byte(pbase+1);
1629         }
1630         break;
1631
16231632      default :
16241633      {
16251634         UINT8 b[2];

Previous 199869 Revisions Next


© 1997-2024 The MAME Team