Previous 199869 Revisions Next

r26291 Tuesday 19th November, 2013 at 22:57:03 UTC by Carl
(mess) diserial: double half cycle freq and add timer callbacks to terminal and 8250 (nw)
--
Fixes h89, at mouse and qx10 kbd, not exp85 though
[src/emu]diserial.c
[src/emu/machine]ins8250.c ins8250.h
[src/mess/machine]terminal.c terminal.h

trunk/src/mess/machine/terminal.c
r26290r26291
295295   return 0;
296296}
297297
298void generic_terminal_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
299{
300}
301
302298WRITE8_MEMBER( generic_terminal_device::kbd_put )
303299{
304300   if (data)
r26290r26291
352348{
353349   clear();
354350   m_framecnt = 0;
355   //m_timer->adjust(attotime::from_hz(2400), 0, attotime::from_hz(2400));
356351}
357352
358353/*
r26290r26291
520515   }
521516}
522517
518void serial_terminal_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
519{
520   device_serial_interface::device_timer(timer, id, param, ptr);
521}
522
523523void serial_terminal_device::send_key(UINT8 code)
524524{
525525   if(is_transmit_register_empty())
trunk/src/mess/machine/terminal.h
r26290r26291
6666   virtual void term_write(UINT8 data);
6767   virtual void device_start();
6868   virtual void device_reset();
69   virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr);
7069   virtual void device_config_complete();
7170   virtual void send_key(UINT8 code) { m_keyboard_func(0, code); }
7271   UINT8 m_buffer[TERMINAL_WIDTH*50]; // make big enough for teleprinter
r26290r26291
104103   virtual void device_start();
105104   virtual void device_config_complete();
106105   virtual void device_reset();
106   virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr);
107107   virtual void tra_callback();
108108   virtual void tra_complete();
109109   virtual void rcv_complete();
trunk/src/emu/diserial.c
r26290r26291
6666
6767void device_serial_interface::set_rcv_rate(attotime rate)
6868{
69   m_rcv_rate = rate;
69   m_rcv_rate = rate/2;
7070   receive_register_reset();
7171   m_rcv_clock->adjust(attotime::never);
7272}
7373
7474void device_serial_interface::set_tra_rate(attotime rate)
7575{
76   m_tra_rate = rate;
76   m_tra_rate = rate/2;
7777   transmit_register_reset();
7878   m_tra_clock->adjust(attotime::never);
7979}
trunk/src/emu/machine/ins8250.c
r26290r26291
539539   }
540540}
541541
542void ins8250_uart_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
543{
544      device_serial_interface::device_timer(timer, id, param, ptr);
545}
546
542547void ns16550_device::device_start()
543548{
544549   m_timeout = timer_alloc();
trunk/src/emu/machine/ins8250.h
r26290r26291
4444   virtual void rcv_complete();
4545   virtual void tra_complete();
4646   virtual void tra_callback();
47   virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr);
4748
4849   virtual void set_fcr(UINT8 data) {}
4950   virtual void push_tx(UINT8 data) {}

Previous 199869 Revisions Next


© 1997-2024 The MAME Team