Previous 199869 Revisions Next

r44519 Wednesday 27th January, 2016 at 15:53:25 UTC by hap
fidel6502: added SC12 cartridge handling
[hash]fidel_scc.xml*
[src/mame/drivers]fidel6502.cpp fidelz80.cpp hh_tms1k.cpp

trunk/hash/fidel_scc.xml
r0r253031
1<?xml version="1.0"?>
2<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
3
4<softwarelist name="fidel_scc" description="Fidelity SCC Modules">
5
6<!-- Sensory Chess Challenger: 9, 12, A/S, .. -->
7
8   <software name="cb16">
9      <description>Challenger Book Openings 2</description>
10      <year>1982</year>
11      <publisher>Fidelity Electronics</publisher>
12      <part name="cart" interface="fidel_scc">
13         <dataarea name="rom" size="0x4000">
14            <rom name="101-1042a01" size="0x2000" crc="591b3e4a" sha1="f75ae850f2f70808b5423f847ff12ee890752bf8" offset="0x0000" />
15            <rom name="101-1042a02" size="0x2000" crc="1bdf0a21" sha1="1c6f673c0bf846e705d15c802f433ac1dc9b153c" offset="0x2000" />
16         </dataarea>
17      </part>
18   </software>
19
20</softwarelist>
trunk/src/mame/drivers/fidel6502.cpp
r253030r253031
1616#include "cpu/m6502/m65sc02.h"
1717#include "machine/6821pia.h"
1818#include "sound/speaker.h"
19#include "bus/generic/slot.h"
20#include "bus/generic/carts.h"
21#include "softlist.h"
1922
2023#include "includes/fidelz80.h"
2124
r253030r253031
3235   fidel6502_state(const machine_config &mconfig, device_type type, const char *tag)
3336      : fidelz80base_state(mconfig, type, tag),
3437      m_6821pia(*this, "6821pia"),
38      m_cart(*this, "cartslot"),
3539      m_speaker(*this, "speaker"),
3640      m_irq_off(*this, "irq_off")
3741   { }
3842
3943   // devices/pointers
4044   optional_device<pia6821_device> m_6821pia;
45   optional_device<generic_slot_device> m_cart;
4146   optional_device<speaker_sound_device> m_speaker;
4247   optional_device<timer_device> m_irq_off;
4348
r253030r253031
5762   DECLARE_READ_LINE_MEMBER(csc_pia1_cb1_r);
5863
5964   // model SC12
65   DECLARE_MACHINE_START(sc12);
66   DECLARE_DEVICE_IMAGE_LOAD_MEMBER(scc_cartridge);
6067   TIMER_DEVICE_CALLBACK_MEMBER(irq_off);
6168   TIMER_DEVICE_CALLBACK_MEMBER(sc12_irq);
6269   DECLARE_WRITE8_MEMBER(sc12_control_w);
r253030r253031
203210    SC12
204211******************************************************************************/
205212
213// cartridge
214
215DEVICE_IMAGE_LOAD_MEMBER(fidel6502_state, scc_cartridge)
216{
217   UINT32 size = m_cart->common_get_size("rom");
218
219   // max size is 16KB
220   if (size > 0x4000)
221   {
222      image.seterror(IMAGE_ERROR_UNSPECIFIED, "Invalid file size");
223      return IMAGE_INIT_FAIL;
224   }
225
226   m_cart->rom_alloc(size, GENERIC_ROM8_WIDTH, ENDIANNESS_LITTLE);
227   m_cart->common_load_rom(m_cart->get_rom_base(), size, "rom");
228
229   return IMAGE_INIT_PASS;
230}
231
232MACHINE_START_MEMBER(fidel6502_state, sc12)
233{
234   if (m_cart->exists())
235      m_maincpu->space(AS_PROGRAM).install_read_handler(0x2000, 0x5fff, read8_delegate(FUNC(generic_slot_device::read_rom),(generic_slot_device*)m_cart));
236
237   fidelz80base_state::machine_start();
238}
239
240
206241// interrupt handling
207242
208243TIMER_DEVICE_CALLBACK_MEMBER(fidel6502_state::irq_off)
r253030r253031
331366   PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD)
332367   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD)
333368   PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD)
334   PORT_BIT(0x100,IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("LV") PORT_CODE(KEYCODE_L) // level
369   PORT_BIT(0x100,IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("LV") PORT_CODE(KEYCODE_L)
335370
336371   PORT_START("IN.4")
337372   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD)
r253030r253031
384419   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Bishop") PORT_CODE(KEYCODE_4)
385420   PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Queen") PORT_CODE(KEYCODE_5)
386421   PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("King") PORT_CODE(KEYCODE_6)
387   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("CL") PORT_CODE(KEYCODE_DEL) // clear
388   PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("RE") PORT_CODE(KEYCODE_R) // reset
422   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("CL") PORT_CODE(KEYCODE_DEL)
423   PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("RE") PORT_CODE(KEYCODE_R)
389424   PORT_BIT(0x100,IP_ACTIVE_HIGH, IPT_UNUSED) PORT_UNUSED
390425INPUT_PORTS_END
391426
r253030r253031
477512   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("LV / Rook") PORT_CODE(KEYCODE_4)
478513   PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("PV / Queen") PORT_CODE(KEYCODE_5)
479514   PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("PB / King") PORT_CODE(KEYCODE_6)
480   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("CL") PORT_CODE(KEYCODE_DEL) // clear
481   PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("RE") PORT_CODE(KEYCODE_R) // reset
515   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("CL") PORT_CODE(KEYCODE_DEL)
516   PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("RE") PORT_CODE(KEYCODE_R)
482517INPUT_PORTS_END
483518
484519
r253030r253031
533568   MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", fidelz80base_state, display_decay_tick, attotime::from_msec(1))
534569   MCFG_DEFAULT_LAYOUT(layout_fidel_sc12)
535570
571   MCFG_MACHINE_START_OVERRIDE(fidel6502_state, sc12)
572
536573   /* sound hardware */
537574   MCFG_SPEAKER_STANDARD_MONO("mono")
538575   MCFG_SOUND_ADD("speaker", SPEAKER_SOUND, 0)
539576   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
577
578   /* cartridge */
579   MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "fidel_scc")
580   MCFG_GENERIC_EXTENSIONS("bin,dat")
581   MCFG_GENERIC_LOAD(fidel6502_state, scc_cartridge)
582
583   MCFG_SOFTWARE_LIST_ADD("cart_list", "fidel_scc")
540584MACHINE_CONFIG_END
541585
542586static MACHINE_CONFIG_START( fev, fidel6502_state )
trunk/src/mame/drivers/fidelz80.cpp
r253030r253031
33/******************************************************************************
44
55    Fidelity Electronics Z80 based board driver
6    for 6502 based boards, see drivers/fidel6502.cpp
6    for 6502 based boards, see drivers/fidel6502.cpp (documentation is in this driver)
77
8    Detailed RE work done by Kevin 'kevtris' Horton, except where noted
9
108    TODO:
119    - Figure out why it says the first speech line twice; it shouldn't?
1210      It sometimes does this on Voice Sensory Chess Challenger real hardware.
1311      It can also be heard on Advanced Voice Chess Challenger real hardware, but not the whole line:
1412      "I I am Fidelity's chess challenger", instead.
15    - Get rom locations from pcb (done for UVC, VCC is probably similar)
1613    - correctly hook up VBRC speech so that the z80 is halted while words are being spoken
1714
15    Read the official manual(s) on how to play.
16   
17    Keypad legend:
18    - RE: Reset
19    - CL: Clear
20    - EN: Enter
21    - PB: Problem Mode
22    - PV: Position Verification
23    - LV: Playing Levels
24    - TB: Take Back
25    - DM: Display Move/Double Move
26    - RV: Reverse
27   
28    Peripherals, compatible with various boards:
29    - Fidelity Challenger Printer - thermal printer, MCU=?
30   
31    Program/data cartridges, for various boards, some cross-compatible:
32    - CG6: Greatest Chess Games 1
33    - CAC: Challenger Advanced Chess - 8KB 101-1038A01
34    - CB9: Challenger Book Openings 1 - 8KB?
35    - CB16: Challenger Book Openings 2 - 8+8KB 101-1042A01,02
36    - others are alt. titles of these?
37   
38    Board hardware descriptions below.
39    Detailed RE work done by Kevin 'kevtris' Horton, except where noted
40
1841***********************************************************************
1942
2043Voice Chess Challenger (VCC) (version A and B?)
r253030r253031
305328
306329******************************************************************************
307330
308Champion Sensory Chess Challenger (CSC) (6502 based -> fidel6502.cpp driver)
331Champion Sensory Chess Challenger (CSC)
309332---------------------------------------
310333
311334Memory map:
r253030r253031
594617
595618******************************************************************************
596619
597Sensory Chess Challenger (SC12-B) (6502 based -> fidel6502.cpp driver)
620Sensory Chess Challenger (SC12-B)
6214 versions are known to exist: A,B,C, and X, with increasing CPU speed.
598622---------------------------------
599623
600RE information by Berger
624RE information from netlist by Berger
601625
6026268*(8+1) buttons, 8+8+2 red LEDs
603627DIN 41524C printer port
r253030r253031
637661
638662******************************************************************************
639663
640Voice Excellence (FEV, model 6092) (6502 based -> fidel6502.cpp driver)
664Voice Excellence (FEV, model 6092)
641665----------------------------------
642666
643667PCB 1: 510.1117A02, appears to be identical to other "Excellence" boards
trunk/src/mame/drivers/hh_tms1k.cpp
r253030r253031
1414 @CP0904A  TMS0970   1977, Milton Bradley Comp IV
1515 @MP0905B  TMS0970   1977, Parker Brothers Codename Sector
1616 *MP0057   TMS1000   1978, APH Student Speech+ (same ROM contents as TSI Speech+?)
17 *MP0158   TMS1000   1979, Entex Soccer
1718 *MP0168   TMS1000?  1979, Conic Basketball
19 *MP0170   TMS1000?  1979, E.R.S. Football
1820 @MP0914   TMS1000   1979, Entex Baseball 1
1921 @MP0923   TMS1000   1979, Entex Baseball 2
2022 @MP1030   TMS1100   1980, APF Mathemagician
2123 @MP1133   TMS1470   1979, Kosmos Astro
2224 @MP1180   TMS1100   1980, Tomy Power House Pinball
25 *MP1181   TMS1100   1979, Conic Football 2
2326 @MP1204   TMS1100   1980, Entex Baseball 3 (6007)
2427 @MP1211   TMS1100   1980, Entex Space Invader
2528 @MP1218   TMS1100   1980, Entex Basketball 2 (6010)
29 *MP1219   TMS1100   1980, U.S. Games Super Sports 4
2630 @MP1221   TMS1100   1980, Entex Raise The Devil
2731 *MP1296   TMS1100?  1982, Entex Black Knight
2832 *MP1312   TMS1100   198?, Tandy/RadioShack Science Fair Microcomputer Trainer
r253030r253031
5963  MP3496   TMS1100   1980, MicroVision cartridge: Sea Duel
6064  M34009   TMS1100   1981, MicroVision cartridge: Alien Raiders (note: MP3498, MP3499, M3400x..)
6165 @M34012   TMS1100   1980, Mattel Dungeons & Dragons - Computer Labyrinth Game
66 *M34014   TMS1100   1981, Coleco Bowlatronic
6267  M34017   TMS1100   1981, MicroVision cartridge: Cosmic Hunter
6368  M34047   TMS1100   1982, MicroVision cartridge: Super Blockbuster
6469 *M34078A  TMS1100   1983, Milton Bradley Arcade Mania


Previous 199869 Revisions Next


© 1997-2024 The MAME Team