Previous 199869 Revisions Next

r36344 Monday 9th March, 2015 at 17:17:54 UTC by David Haywood
couple of notes about what the various NEC chips seem to be cloned from thanks to carl and RB, added them for now, will try to hook them up and see how things align in a bit (nw)
[src/emu/cpu/nec]v53.c v53.h

trunk/src/emu/cpu/nec/v53.c
r244855r244856
22
33// V33 / V33A cores with onboard peripherals
44
5// Interrupt Controller is uPD71059 equivalent
6// DMA Controller can operate in modes providing a subset of the uPD71071 or uPD71037 functionality (some modes unavailable / settings ignored)
7// Serial Controller is based on the uPD71051 but with some changes
5// Interrupt Controller is uPD71059 equivalent (a PIC8259 clone?)
6// DMA Controller can operate in modes providing a subset of the uPD71071 or uPD71037 functionality (some modes unavailable / settings ignored) (uPD71071 mode is an extended am9517a, uPD71037 mode is ??)
7// Serial Controller is based on the uPD71051 but with some changes (i8251 clone?)
88// Timer Unit is functionally identical to uPD71054 (which in turn is said to be the same as a pit8253)
99
1010#include "emu.h"
r244855r244856
474474   return ret;
475475}
476476
477READ8_MEMBER(v53_base_device::get_pic_ack)
478{
479   return 0;
480}
477481
482WRITE_LINE_MEMBER( v53_base_device::upd71059_irq_w)
483{
484   printf("upd71059_irq_w %d", state);
485}
486
478487static MACHINE_CONFIG_FRAGMENT( v53 )
479488   MCFG_DEVICE_ADD("pit", PIT8254, 0) // functionality identical to uPD71054
480489   MCFG_PIT8253_CLK0(16000000/2/8)
r244855r244856
486495   MCFG_I8237_IN_MEMR_CB(READ8(v53_base_device, dma_memin_r))
487496   
488497   
498   MCFG_PIC8259_ADD( "upd71059pic", WRITELINE(v53_base_device, upd71059_irq_w), VCC, READ8(v53_base_device,get_pic_ack))
489499
500   MCFG_DEVICE_ADD("upd71051", I8251, 0)
501
490502MACHINE_CONFIG_END
491503
492504machine_config_constructor v53_base_device::device_mconfig_additions() const
r244855r244856
499511   : nec_common_device(mconfig, type, name, tag, owner, clock, shortname, true, fetch_xor, prefetch_size, prefetch_cycles, chip_type),
500512   m_io_space_config( "io", ENDIANNESS_LITTLE, 16, 16, 0, ADDRESS_MAP_NAME( v53_internal_port_map ) ),
501513   m_pit(*this, "pit"),
502   m_dma_71071mode(*this, "upd71071dma")
514   m_dma_71071mode(*this, "upd71071dma"),
515   m_upd71059(*this, "upd71059pic"),
516   m_upd71051(*this, "upd71051")
503517{
504518}
505519
trunk/src/emu/cpu/nec/v53.h
r244855r244856
55
66#include "machine/pit8253.h"
77#include "machine/am9517a.h"
8#include "machine/pic8259.h"
9#include "machine/i8251.h"
810
911class v53_base_device : public nec_common_device
1012{
r244855r244856
8183
8284   required_device<pit8253_device> m_pit;
8385   required_device<upd71071_v53_device> m_dma_71071mode;
84   
86   required_device<pic8259_device> m_upd71059;
87   required_device<i8251_device> m_upd71051;
88
8589   DECLARE_WRITE_LINE_MEMBER(dreq0_trampoline_w);
8690   DECLARE_WRITE_LINE_MEMBER(dreq1_trampoline_w);
8791   DECLARE_WRITE_LINE_MEMBER(dreq2_trampoline_w);
r244855r244856
9296   DECLARE_WRITE8_MEMBER(dma_io_3_w);
9397   DECLARE_READ8_MEMBER(dma_memin_r);
9498
99   DECLARE_READ8_MEMBER(get_pic_ack);
100   DECLARE_WRITE_LINE_MEMBER(upd71059_irq_w);
101
95102protected:
96103   // device-level overrides
97104   virtual machine_config_constructor device_mconfig_additions() const;


Previous 199869 Revisions Next


© 1997-2024 The MAME Team