Previous 199869 Revisions Next

r18454 Thursday 11th October, 2012 at 16:45:30 UTC by Curt Coder
(mess) c128: Fixed MMU. (nw)
[src/mess/machine]mos8722.c mos8722.h

trunk/src/mess/machine/mos8722.c
r18453r18454
168168
169169   m_p0l_written = false;
170170   m_p1l_written = false;
171
172   m_out_z80en_func(MCR_8500);
173   m_out_fsdir_func(MCR_FSDIR);
171174}
172175
173176
r18453r18454
220223   {
221224      if (!CR_IO && offset >= 0xd500 && offset < 0xd50c)
222225      {
226         if (LOG) logerror("MOS8722 '%s' Write %01x : %02x\n", tag(), offset & 0x0f, data);
227
223228         m_reg[offset & 0x0f] = data;
224229
225230         switch (offset & 0x0f)
r18453r18454
248253      }
249254      else if (offset >= 0xff00 && offset < 0xff05)
250255      {
256         if (LOG) logerror("MOS8722 '%s' Write %01x : %02x\n", tag(), offset & 0x0f, data);
257
251258         switch (offset & 0x0f)
252259         {
253260         case CR:
r18453r18454
279286
280287offs_t mos8722_device::ta_r(offs_t offset, int aec, int *ms0, int *ms1, int *ms2, int *ms3, int *cas0, int *cas1)
281288{
282   offs_t ta = offset;
289   offs_t ta = offset & 0xff00;
283290
291   if (!aec)
292   {
293      ta = 0xf000 | (offset & 0xf00);
294   }
295
284296   if (!MCR_C64)
285297   {
286298      *ms0 = 1;
r18453r18454
289301
290302      if (offset < 0x1000 && !MCR_8500)
291303      {
292         ta = 0xd000 | (offset & 0xfff);
304         ta = 0xd000 | (offset & 0xf00);
293305
294306         *ms0 = 0;
295307         *ms1 = 0;
r18453r18454
321333            {
322334               if (m_p0l_written && m_reg[P0L])
323335               {
324                  ta = (m_reg[P0L] << 8) | (offset & 0xff);
336                  ta = m_reg[P0L] << 8;
325337
326338                  *cas0 = P0H_A16 ? 1 : 0;
327339                  *cas1 = P0H_A16 ? 0 : 1;
r18453r18454
331343            {
332344               if (m_p1l_written && m_reg[P1L])
333345               {
334                  ta = (m_reg[P1L] << 8) | (offset & 0xff);
346                  ta = m_reg[P1L] << 8;
335347
336348                  *cas0 = P1H_A16 ? 1 : 0;
337349                  *cas1 = P1H_A16 ? 0 : 1;
trunk/src/mess/machine/mos8722.h
r18453r18454
7979                        public mos8722_interface
8080{
8181public:
82    // construction/destruction
83    mos8722_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
82   // construction/destruction
83   mos8722_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
8484
85    UINT8 read(offs_t offset, UINT8 data);
86    DECLARE_WRITE8_MEMBER( write );
85   UINT8 read(offs_t offset, UINT8 data);
86   DECLARE_WRITE8_MEMBER( write );
8787
88    DECLARE_READ_LINE_MEMBER( fsdir_r );
88   DECLARE_READ_LINE_MEMBER( fsdir_r );
8989
90    offs_t ta_r(offs_t offset, int aec, int *ms0, int *ms1, int *ms2, int *ms3, int *cas0, int *cas1);
90   offs_t ta_r(offs_t offset, int aec, int *ms0, int *ms1, int *ms2, int *ms3, int *cas0, int *cas1);
9191
9292protected:
93    // device-level overrides
93   // device-level overrides
9494   virtual void device_config_complete();
95    virtual void device_start();
96    virtual void device_reset();
95   virtual void device_start();
96   virtual void device_reset();
9797
9898private:
9999   devcb_resolved_write_line   m_out_z80en_func;

Previous 199869 Revisions Next


© 1997-2024 The MAME Team