Previous 199869 Revisions Next

r30832 Wednesday 4th June, 2014 at 14:59:20 UTC by Curt Coder
(MESS) ql: Peripherals WIP. (nw)
[src/emu/bus/ql]sandy_superdisk.c sandy_superdisk.h sandy_superqboard.c sandy_superqboard.h trumpcard.c trumpcard.h
[src/mess/machine]qimi.c qimi.h

trunk/src/emu/bus/ql/trumpcard.c
r30831r30832
11// license:BSD-3-Clause
2// copyright-holders:Curt Coder
2// copyright-holders:Curt Coder, Phill Harvey-Smith
33/**********************************************************************
44
55    Miracle Systems QL Trump Card emulation
r30831r30832
99
1010**********************************************************************/
1111
12/*
13
14   TODO:
15
16   - RAM always 128KB on boot screen
17
18*/
19
2012#include "trumpcard.h"
2113
2214
r30831r30832
167159
168160   // state saving
169161   save_item(NAME(m_rom_en));
170   save_item(NAME(m_ram_en));
171162}
172163
173164
r30831r30832
181172   m_fdc->dden_w(0);
182173
183174   m_rom_en = false;
184   m_ram_en = false;
185175}
186176
187177
r30831r30832
191181
192182UINT8 ql_trump_card_t::read(address_space &space, offs_t offset, UINT8 data)
193183{
194   if (!m_rom_en && offset >= 0xc000 && offset < 0x10000)
184   if (offset >= 0xc000 && offset < 0x10000)
195185   {
196186      m_rom_en = true;
197
198      data = m_rom->base()[offset & 0x3fff];
199187   }
200188
201189   if (offset >= 0x10000 && offset < 0x18000)
202190   {
203      if (m_ram_size == 768*1024)
204      {
205         m_ram_en = true;
206      }
191      m_rom_en = false;
207192
208193      data = m_rom->base()[offset & 0x7fff];
209194   }
r30831r30832
213198      data = m_fdc->read(space, offset & 0x03);
214199   }
215200
216   if (offset >= 0x60000 && offset < 0xc0000)
201   if (offset >= 0x40000 && offset < 0xc0000)
217202   {
218      if ((offset - 0x60000) < m_ram_size)
203      if ((offset - 0x40000) < m_ram_size)
219204      {
220         data = m_ram[offset - 0x60000];
205         data = m_ram[offset - 0x40000];
221206      }
222207   }
223208
224209   if (offset >= 0xc0000)
225210   {
226      if (m_rom_en && offset < 0xc8000)
211      if (m_rom_en)
227212      {
228         data = m_rom->base()[offset & 0x7fff];
213         if (offset < 0xc8000)
214         {
215            data = m_rom->base()[offset & 0x7fff];
216         }
229217      }
230
231      if (m_ram_en)
218      else
232219      {
233         data = m_ram[offset - 0x60000];
220         if ((offset - 0x40000) < m_ram_size)
221         {
222            data = m_ram[offset - 0x40000];
223         }
234224      }
235225   }
236226
r30831r30832
286276      }
287277   }
288278
289   if (offset >= 0x60000 && offset < 0xc0000)
279   if (offset >= 0x40000 && offset < 0xc0000)
290280   {
291      if ((offset - 0x60000) < m_ram_size)
281      if ((offset - 0x40000) < m_ram_size)
292282      {
293         m_ram[offset - 0x60000] = data;
283         m_ram[offset - 0x40000] = data;
294284      }
295285   }
296286
297287   if (offset >= 0xc0000)
298288   {
299      if (m_ram_en)
289      if (!m_rom_en)
300290      {
301         m_ram[offset - 0x60000] = data;
291         m_ram[offset - 0x40000] = data;
302292      }
303293   }
304294}
trunk/src/emu/bus/ql/trumpcard.h
r30831r30832
11// license:BSD-3-Clause
2// copyright-holders:Curt Coder
2// copyright-holders:Curt Coder, Phill Harvey-Smith
33/**********************************************************************
44
55    Miracle Systems QL Trump Card emulation
r30831r30832
5858
5959   int m_ram_size;
6060   bool m_rom_en;
61   bool m_ram_en;
6261};
6362
6463
trunk/src/emu/bus/ql/sandy_superqboard.c
r30831r30832
11// license:BSD-3-Clause
2// copyright-holders:Curt Coder
2// copyright-holders:Curt Coder, Phill Harvey-Smith
33/**********************************************************************
44
55    Sandy SuperQBoard (with HD upgrade) emulation
r30831r30832
257257      }
258258   }
259259
260   if (offset >= 0x60000 && offset < 0xc0000)
260   if (offset >= 0x40000 && offset < 0xc0000)
261261   {
262      if ((offset - 0x60000) < m_ram_size)
262      if ((offset - 0x40000) < m_ram_size)
263263      {
264         data = m_ram[offset - 0x60000];
264         data = m_ram[offset - 0x40000];
265265      }
266266   }
267267
r30831r30832
348348      }
349349   }
350350
351   if (offset >= 0x60000 && offset < 0xc0000)
351   if (offset >= 0x40000 && offset < 0xc0000)
352352   {
353      if ((offset - 0x60000) < m_ram_size)
353      if ((offset - 0x40000) < m_ram_size)
354354      {
355         m_ram[offset - 0x60000] = data;
355         m_ram[offset - 0x40000] = data;
356356      }
357357   }
358358}
trunk/src/emu/bus/ql/sandy_superqboard.h
r30831r30832
11// license:BSD-3-Clause
2// copyright-holders:Curt Coder
2// copyright-holders:Curt Coder, Phill Harvey-Smith
33/**********************************************************************
44
55    Sandy SuperQBoard (with HD upgrade) emulation
trunk/src/emu/bus/ql/sandy_superdisk.c
r30831r30832
11// license:BSD-3-Clause
2// copyright-holders:Curt Coder
2// copyright-holders:Curt Coder, Phill Harvey-Smith
33/**********************************************************************
44
55    Sandy Super Disk emulation
trunk/src/emu/bus/ql/sandy_superdisk.h
r30831r30832
11// license:BSD-3-Clause
2// copyright-holders:Curt Coder
2// copyright-holders:Curt Coder, Phill Harvey-Smith
33/**********************************************************************
44
55    Sandy Super Disk emulation
trunk/src/mess/machine/qimi.c
r30831r30832
11// license:BSD-3-Clause
2// copyright-holders:Curt Coder
2// copyright-holders:Curt Coder, Phill Harvey-Smith
33/**********************************************************************
44
55    QL Internal Mouse Interface emulation
trunk/src/mess/machine/qimi.h
r30831r30832
11// license:BSD-3-Clause
2// copyright-holders:Curt Coder
2// copyright-holders:Curt Coder, Phill Harvey-Smith
33/**********************************************************************
44
55    QL Internal Mouse Interface emulation

Previous 199869 Revisions Next


© 1997-2024 The MAME Team