Previous 199869 Revisions Next

r36313 Sunday 8th March, 2015 at 01:07:25 UTC by David Haywood
start an internal map for the v53 (nw)
[src/emu/cpu]cpu.mak
[src/emu/cpu/nec]nec.c nec.h v53.c* v53.h*
[src/mame/includes]hng64.h

trunk/src/emu/cpu/cpu.mak
r244824r244825
17761776CPUOBJS += $(CPUOBJ)/nec/nec.o
17771777CPUOBJS += $(CPUOBJ)/nec/v25.o
17781778CPUOBJS += $(CPUOBJ)/nec/v25sfr.o
1779CPUOBJS += $(CPUOBJ)/nec/v53.o
17791780DASMOBJS += $(CPUOBJ)/nec/necdasm.o
17801781endif
17811782
trunk/src/emu/cpu/nec/nec.c
r244824r244825
117117const device_type V30 = &device_creator<v30_device>;
118118const device_type V33 = &device_creator<v33_device>;
119119const device_type V33A =&device_creator<v33a_device>;
120const device_type V53 = &device_creator<v53_device>;
121const device_type V53A =&device_creator<v53a_device>;
122120
123121
122
124123nec_common_device::nec_common_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, bool is_16bit, offs_t fetch_xor, UINT8 prefetch_size, UINT8 prefetch_cycles, UINT32 chip_type)
125124   : cpu_device(mconfig, type, name, tag, owner, clock, shortname, __FILE__)
126125   , m_program_config("program", ENDIANNESS_LITTLE, is_16bit ? 16 : 8, 20, 0)
r244824r244825
159158{
160159}
161160
162v53_device::v53_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
163   : nec_common_device(mconfig, V53, "V53", tag, owner, clock, "v53", true, BYTE_XOR_LE(0), 6, 1, V33_TYPE)
164{
165}
166161
167v53a_device::v53a_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
168   : nec_common_device(mconfig, V53A, "V53A", tag, owner, clock, "v53a", true, BYTE_XOR_LE(0), 6, 1, V33_TYPE)
169{
170}
171
172162offs_t nec_common_device::disasm_disassemble(char *buffer, offs_t pc, const UINT8 *oprom, const UINT8 *opram, UINT32 options)
173163{
174164   extern CPU_DISASSEMBLE( nec );
trunk/src/emu/cpu/nec/nec.h
r244824r244825
420420   v33a_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
421421};
422422
423class v53_device : public nec_common_device
424{
425public:
426   v53_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
427};
428423
429class v53a_device : public nec_common_device
430{
431public:
432   v53a_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
433};
434
435
436424extern const device_type V20;
437425extern const device_type V30;
438426extern const device_type V33;
439427extern const device_type V33A;
440extern const device_type V53;
441extern const device_type V53A;
442428
443429
430
444431#endif
trunk/src/emu/cpu/nec/v53.c
r0r244825
1/* V53 */
2
3#include "emu.h"
4#include "v53.h"
5
6const device_type V53 = &device_creator<v53_device>;
7const device_type V53A =&device_creator<v53a_device>;
8
9WRITE8_MEMBER(v53_base_device::BSEL_w)
10{
11   printf("v53: BSEL_w %02x\n", data);
12}
13
14WRITE8_MEMBER(v53_base_device::BADR_w)
15{
16   printf("v53: BADR_w %02x\n", data);
17}
18
19WRITE8_MEMBER(v53_base_device::BRC_w)
20{
21   printf("v53: BRC_w %02x\n", data);
22}
23
24WRITE8_MEMBER(v53_base_device::WMB0_w)
25{
26   printf("v53: WMB0_w %02x\n", data);
27}
28
29WRITE8_MEMBER(v53_base_device::WCY1_w)
30{
31   printf("v53: WCY1_w %02x\n", data);
32}
33
34WRITE8_MEMBER(v53_base_device::WCY0_w)
35{
36   printf("v53: WCY0_w %02x\n", data);
37}
38
39WRITE8_MEMBER(v53_base_device::WAC_w)
40{
41   printf("v53: WAC_w %02x\n", data);
42}
43
44WRITE8_MEMBER(v53_base_device::TCKS_w)
45{
46   printf("v53: TCKS_w %02x\n", data);
47}
48
49WRITE8_MEMBER(v53_base_device::SBCR_w)
50{
51   printf("v53: SBCR_w %02x\n", data);
52}
53
54WRITE8_MEMBER(v53_base_device::REFC_w)
55{
56   printf("v53: REFC_w %02x\n", data);
57}
58
59WRITE8_MEMBER(v53_base_device::WMB1_w)
60{
61   printf("v53: WMB1_w %02x\n", data);
62}
63
64WRITE8_MEMBER(v53_base_device::WCY2_w)
65{
66   printf("v53: WCY2_w %02x\n", data);
67}
68
69WRITE8_MEMBER(v53_base_device::WCY3_w)
70{
71   printf("v53: WCY3_w %02x\n", data);
72}
73
74WRITE8_MEMBER(v53_base_device::WCY4_w)
75{
76   printf("v53: WCY4_w %02x\n", data);
77}
78
79WRITE8_MEMBER(v53_base_device::SULA_w)
80{
81   printf("v53: SULA_w %02x\n", data);
82}
83
84WRITE8_MEMBER(v53_base_device::TULA_w)
85{
86   printf("v53: TULA_w %02x\n", data);
87}
88
89WRITE8_MEMBER(v53_base_device::IULA_w)
90{
91   printf("v53: IULA_w %02x\n", data);
92}
93
94WRITE8_MEMBER(v53_base_device::DULA_w)
95{
96   printf("v53: DULA_w %02x\n", data);
97}
98
99WRITE8_MEMBER(v53_base_device::OPHA_w)
100{
101   printf("v53: OPHA_w %02x\n", data);
102}
103
104WRITE8_MEMBER(v53_base_device::OPSEL_w)
105{
106   printf("v53: OPSEL_w %02x\n", data);
107}
108
109WRITE8_MEMBER(v53_base_device::SCTL_w)
110{
111   printf("v53: SCTL_w %02x\n", data);
112}
113
114static ADDRESS_MAP_START( v53_internal_port_map, AS_IO, 16, v53_base_device )
115   AM_RANGE(0xffe0, 0xffe1) AM_WRITE8( BSEL_w,  0x00ff) // 0xffe0
116   AM_RANGE(0xffe0, 0xffe1) AM_WRITE8( BADR_w,  0xff00) // 0xffe1
117//   AM_RANGE(0xffe2, 0xffe3) // (reserved     ,  0x00ff) // 0xffe2
118//   AM_RANGE(0xffe2, 0xffe3) // (reserved     ,  0xff00) // 0xffe3
119//   AM_RANGE(0xffe4, 0xffe5) // (reserved     ,  0x00ff) // 0xffe4
120//   AM_RANGE(0xffe4, 0xffe5) // (reserved     ,  0xff00) // 0xffe5
121//   AM_RANGE(0xffe6, 0xffe7) // (reserved     ,  0x00ff) // 0xffe6
122//   AM_RANGE(0xffe6, 0xffe7) // (reserved     ,  0xff00) // 0xffe7
123//   AM_RANGE(0xffe8, 0xffe9) // (reserved     ,  0x00ff) // 0xffe8
124   AM_RANGE(0xffe8, 0xffe9) AM_WRITE8( BRC_w ,  0xff00) // 0xffe9
125   AM_RANGE(0xffea, 0xffeb) AM_WRITE8( WMB0_w,  0x00ff) // 0xffea
126   AM_RANGE(0xffea, 0xffeb) AM_WRITE8( WCY1_w,  0xff00) // 0xffeb
127   AM_RANGE(0xffec, 0xffed) AM_WRITE8( WCY0_w,  0x00ff) // 0xffec
128   AM_RANGE(0xffec, 0xffed) AM_WRITE8( WAC_w,   0xff00) // 0xffed
129//   AM_RANGE(0xffee, 0xffef) // (reserved     ,  0x00ff) // 0xffee
130//   AM_RANGE(0xffee, 0xffef) // (reserved     ,  0xff00) // 0xffef
131   AM_RANGE(0xfff0, 0xfff1) AM_WRITE8( TCKS_w,  0x00ff) // 0xfff0
132   AM_RANGE(0xfff0, 0xfff1) AM_WRITE8( SBCR_w,  0xff00) // 0xfff1
133   AM_RANGE(0xfff2, 0xfff3) AM_WRITE8( REFC_w,  0x00ff) // 0xfff2
134   AM_RANGE(0xfff2, 0xfff3) AM_WRITE8( WMB1_w,  0xff00) // 0xfff3
135   AM_RANGE(0xfff4, 0xfff5) AM_WRITE8( WCY2_w,  0x00ff) // 0xfff4
136   AM_RANGE(0xfff4, 0xfff5) AM_WRITE8( WCY3_w,  0xff00) // 0xfff5
137   AM_RANGE(0xfff6, 0xfff7) AM_WRITE8( WCY4_w,  0x00ff) // 0xfff6
138//   AM_RANGE(0xfff6, 0xfff7) // (reserved     ,  0xff00) // 0xfff7
139   AM_RANGE(0xfff8, 0xfff9) AM_WRITE8( SULA_w,  0x00ff) // 0xfff8
140   AM_RANGE(0xfff8, 0xfff9) AM_WRITE8( TULA_w,  0xff00) // 0xfff9
141   AM_RANGE(0xfffa, 0xfffb) AM_WRITE8( IULA_w,  0x00ff) // 0xfffa
142   AM_RANGE(0xfffa, 0xfffb) AM_WRITE8( DULA_w,  0xff00) // 0xfffb
143   AM_RANGE(0xfffc, 0xfffd) AM_WRITE8( OPHA_w,  0x00ff) // 0xfffc
144   AM_RANGE(0xfffc, 0xfffd) AM_WRITE8( OPSEL_w, 0xff00) // 0xfffd
145   AM_RANGE(0xfffe, 0xffff) AM_WRITE8( SCTL_w,  0x00ff) // 0xfffe
146//   AM_RANGE(0xfffe, 0xffff) // (reserved     ,  0xff00) // 0xffff
147ADDRESS_MAP_END
148
149v53_base_device::v53_base_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, offs_t fetch_xor, UINT8 prefetch_size, UINT8 prefetch_cycles, UINT32 chip_type)
150   : nec_common_device(mconfig, type, name, tag, owner, clock, shortname, true, fetch_xor, prefetch_size, prefetch_cycles, chip_type),
151   m_io_space_config( "io", ENDIANNESS_LITTLE, 16, 16, 0, ADDRESS_MAP_NAME( v53_internal_port_map ) )
152{
153}
154
155
156v53_device::v53_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
157   : v53_base_device(mconfig, V53, "V53", tag, owner, clock, "v53", BYTE_XOR_LE(0), 6, 1, V33_TYPE)
158{
159}
160
161
162v53a_device::v53a_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
163   : v53_base_device(mconfig, V53A, "V53A", tag, owner, clock, "v53a", BYTE_XOR_LE(0), 6, 1, V33_TYPE)
164{
165}
166
trunk/src/emu/cpu/nec/v53.h
r0r244825
1/* V53 */
2
3#include "nec.h"
4#include "necpriv.h"
5
6class v53_base_device : public nec_common_device
7{
8public:
9   v53_base_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, offs_t fetch_xor, UINT8 prefetch_size, UINT8 prefetch_cycles, UINT32 chip_type);
10
11   DECLARE_WRITE8_MEMBER(BSEL_w);
12   DECLARE_WRITE8_MEMBER(BADR_w);
13   DECLARE_WRITE8_MEMBER(BRC_w);
14   DECLARE_WRITE8_MEMBER(WMB0_w);
15   DECLARE_WRITE8_MEMBER(WCY1_w);
16   DECLARE_WRITE8_MEMBER(WCY0_w);
17   DECLARE_WRITE8_MEMBER(WAC_w);
18   DECLARE_WRITE8_MEMBER(TCKS_w);
19   DECLARE_WRITE8_MEMBER(SBCR_w);
20   DECLARE_WRITE8_MEMBER(REFC_w);
21   DECLARE_WRITE8_MEMBER(WMB1_w);
22   DECLARE_WRITE8_MEMBER(WCY2_w);
23   DECLARE_WRITE8_MEMBER(WCY3_w);
24   DECLARE_WRITE8_MEMBER(WCY4_w);
25   DECLARE_WRITE8_MEMBER(SULA_w);
26   DECLARE_WRITE8_MEMBER(TULA_w);
27   DECLARE_WRITE8_MEMBER(IULA_w);
28   DECLARE_WRITE8_MEMBER(DULA_w);
29   DECLARE_WRITE8_MEMBER(OPHA_w);
30   DECLARE_WRITE8_MEMBER(OPSEL_w);
31   DECLARE_WRITE8_MEMBER(SCTL_w);
32
33   const address_space_config m_io_space_config;
34
35   const address_space_config *memory_space_config(address_spacenum spacenum) const
36   {
37      switch (spacenum)
38      {
39         case AS_IO: return &m_io_space_config;
40         default: return nec_common_device::memory_space_config(spacenum);
41      }
42   }
43};
44
45
46class v53_device : public v53_base_device
47{
48public:
49   v53_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
50};
51
52class v53a_device : public v53_base_device
53{
54public:
55   v53a_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
56};
57
58extern const device_type V53;
59extern const device_type V53A;
trunk/src/mame/includes/hng64.h
r244824r244825
11#include "machine/msm6242.h"
22#include "cpu/mips/mips3.h"
3#include "cpu/nec/nec.h"
3#include "cpu/nec/v53.h"
44
55enum
66{


Previous 199869 Revisions Next


© 1997-2024 The MAME Team