Previous 199869 Revisions Next

r33782 Wednesday 10th December, 2014 at 00:19:58 UTC by hap
(MESS)APF Mathemagician skeleton driver
[src/mess]mess.lst mess.mak
[src/mess/drivers]apf.c mathmagi.c* merlin.c simon.c
[src/mess/layout]mathmagi.lay*

trunk/src/mess/drivers/apf.c
r242293r242294
613613***************************************************************************/
614614
615615/*    YEAR  NAME     PARENT     COMPAT  MACHINE     INPUT      CLASS          INIT         COMPANY               FULLNAME */
616COMP(1979, apfimag,  apfm1000,  0,      apfimag,    apfimag,   driver_device,  0,   "APF Electronics Inc", "APF Imagination Machine" , 0 )
617CONS(1978, apfm1000, 0,         0,      apfm1000,   apfm1000,  driver_device,  0,   "APF Electronics Inc", "APF M-1000" , 0 )
616COMP( 1979, apfimag,  apfm1000,  0,      apfimag,    apfimag,   driver_device,  0,   "APF Electronics Inc.", "APF Imagination Machine", 0 )
617CONS( 1978, apfm1000, 0,         0,      apfm1000,   apfm1000,  driver_device,  0,   "APF Electronics Inc.", "APF M-1000", 0 )
trunk/src/mess/drivers/mathmagi.c
r0r242294
1// license:BSD-3-Clause
2// copyright-holders:hap
3/***************************************************************************
4
5  APF Mathemagician
6  * TMS1100 MP1030
7 
8***************************************************************************/
9
10#include "emu.h"
11#include "cpu/tms0980/tms0980.h"
12
13#include "mathmagi.lh"
14
15// master clock is a single stage RC oscillator: R=68K, C=82pf,
16// according to the TMS 1000 series data manual this is around 200kHz
17#define MASTER_CLOCK (200000)
18
19
20class mathmagi_state : public driver_device
21{
22public:
23   mathmagi_state(const machine_config &mconfig, device_type type, const char *tag)
24      : driver_device(mconfig, type, tag),
25      m_maincpu(*this, "maincpu")
26   { }
27
28   required_device<cpu_device> m_maincpu;
29
30   UINT16 m_o;
31   UINT16 m_r;
32
33   DECLARE_READ8_MEMBER(read_k);
34   DECLARE_WRITE16_MEMBER(write_o);
35   DECLARE_WRITE16_MEMBER(write_r);
36
37   virtual void machine_start();
38};
39
40
41/***************************************************************************
42
43  I/O
44
45***************************************************************************/
46
47READ8_MEMBER(mathmagi_state::read_k)
48{
49   return 0;
50}
51
52WRITE16_MEMBER(mathmagi_state::write_o)
53{
54}
55
56WRITE16_MEMBER(mathmagi_state::write_r)
57{
58}
59
60
61
62/***************************************************************************
63
64  Inputs
65
66***************************************************************************/
67
68/* physical button layout and labels is like this:
69
70    ON     ONE       [SEL] [NXT] [?]   [/]
71     |      |        [7]   [8]   [9]   [x]
72    OFF    TWO       [4]   [5]   [6]   [-]
73         PLAYERS     [1]   [2]   [3]   [+]
74                     [0]   [_]   [r]   [=]
75*/
76
77static INPUT_PORTS_START( mathmagi )
78INPUT_PORTS_END
79
80
81
82/***************************************************************************
83
84  Machine Config
85
86***************************************************************************/
87
88void mathmagi_state::machine_start()
89{
90   m_o = 0;
91   m_r = 0;
92
93   save_item(NAME(m_o));
94   save_item(NAME(m_r));
95}
96
97
98static const UINT16 mathmagi_output_pla[0x20] =
99{
100   /* O output PLA configuration currently unknown */
101   0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
102   0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
103   0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
104   0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f
105};
106
107
108static MACHINE_CONFIG_START( mathmagi, mathmagi_state )
109
110   /* basic machine hardware */
111   MCFG_CPU_ADD("maincpu", TMS1100, MASTER_CLOCK)
112   MCFG_TMS1XXX_OUTPUT_PLA(mathmagi_output_pla)
113   MCFG_TMS1XXX_READ_K_CB(READ8(mathmagi_state, read_k))
114   MCFG_TMS1XXX_WRITE_O_CB(WRITE16(mathmagi_state, write_o))
115   MCFG_TMS1XXX_WRITE_R_CB(WRITE16(mathmagi_state, write_r))
116
117   MCFG_DEFAULT_LAYOUT(layout_mathmagi)
118
119   /* no video! */
120
121   /* no sound! */
122MACHINE_CONFIG_END
123
124
125
126/***************************************************************************
127
128  Game driver(s)
129
130***************************************************************************/
131
132ROM_START( mathmagi )
133   ROM_REGION( 0x800, "maincpu", 0 )
134   ROM_LOAD( "mp1030", 0x0000, 0x800, CRC(a81d7ccb) SHA1(4756ce42f1ea28ce5fe6498312f8306f10370969) )
135
136   ROM_REGION( 867, "maincpu:mpla", 0 )
137   ROM_LOAD( "tms1100_default_mpla.pla", 0, 867, BAD_DUMP CRC(62445fc9) SHA1(d6297f2a4bc7a870b76cc498d19dbb0ce7d69fec) ) // not verified
138   ROM_REGION( 365, "maincpu:opla", 0 )
139   ROM_LOAD( "tms1100_mathmagi_opla.pla", 0, 365, NO_DUMP )
140ROM_END
141
142
143COMP( 1980, mathmagi, 0, 0, mathmagi, mathmagi, driver_device, 0, "APF Electronics Inc.", "Mathemagician", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW | GAME_NOT_WORKING )
trunk/src/mess/drivers/merlin.c
r242293r242294
3838
3939// master clock is a single stage RC oscillator: R=33K, C=100pf,
4040// according to the TMS 1000 series data manual this is around 350kHz
41#define MERLIN_RC_CLOCK (350000)
41#define MASTER_CLOCK (350000)
4242
4343
4444class merlin_state : public driver_device
r242293r242294
177177static MACHINE_CONFIG_START( merlin, merlin_state )
178178
179179   /* basic machine hardware */
180   MCFG_CPU_ADD("maincpu", TMS1100, MERLIN_RC_CLOCK)
180   MCFG_CPU_ADD("maincpu", TMS1100, MASTER_CLOCK)
181181   MCFG_TMS1XXX_OUTPUT_PLA(merlin_output_pla)
182   MCFG_TMS1XXX_READ_K_CB(READ8( merlin_state, read_k))
183   MCFG_TMS1XXX_WRITE_O_CB(WRITE16( merlin_state, write_o))
184   MCFG_TMS1XXX_WRITE_R_CB(WRITE16( merlin_state, write_r))
182   MCFG_TMS1XXX_READ_K_CB(READ8(merlin_state, read_k))
183   MCFG_TMS1XXX_WRITE_O_CB(WRITE16(merlin_state, write_o))
184   MCFG_TMS1XXX_WRITE_R_CB(WRITE16(merlin_state, write_r))
185185
186186   MCFG_DEFAULT_LAYOUT(layout_merlin)
187187
trunk/src/mess/drivers/simon.c
r242293r242294
2525
2626// master clock is a single stage RC oscillator: R=33K, C=100pf,
2727// according to the TMS 1000 series data manual this is around 350kHz
28#define SIMON_RC_CLOCK (350000)
28#define MASTER_CLOCK (350000)
2929
3030
3131class simon_state : public driver_device
r242293r242294
151151static MACHINE_CONFIG_START( simon, simon_state )
152152
153153   /* basic machine hardware */
154   MCFG_CPU_ADD("maincpu", TMS1000, SIMON_RC_CLOCK)
154   MCFG_CPU_ADD("maincpu", TMS1000, MASTER_CLOCK)
155155   MCFG_TMS1XXX_READ_K_CB(READ8(simon_state, read_k))
156156   MCFG_TMS1XXX_WRITE_O_CB(WRITE16(simon_state, write_o))
157157   MCFG_TMS1XXX_WRITE_R_CB(WRITE16(simon_state, write_r))
trunk/src/mess/layout/mathmagi.lay
r0r242294
1<?xml version="1.0"?>
2<mamelayout version="2">
3
4<!-- note: the PLUS sign is supposed to be lop sided like that -->
5
6<!-- define elements -->
7
8   <element name="digit" defstate="0">
9      <led7seg><color red="1.0" green="0.3" blue="0.2" /></led7seg>
10   </element>
11
12   <element name="lamp_dot" defstate="0">
13      <disk state="1"><color red="1.0" green="0.3" blue="0.2" /></disk>
14      <disk state="0"><color red="0.125490" green="0.035294" blue="0.0235294" /></disk>
15   </element>
16   <element name="lamp_dash" defstate="0">
17      <rect state="1"><color red="1.0" green="0.3" blue="0.2" /></rect>
18      <rect state="0"><color red="0.125490" green="0.035294" blue="0.0235294" /></rect>
19   </element>
20   <element name="lamp_slash" defstate="0">
21      <text string="/" state="1"><color red="1.0" green="0.3" blue="0.2" /></text>
22      <text string="/" state="0"><color red="0.125490" green="0.035294" blue="0.0235294" /></text>
23   </element>
24   <element name="lamp_backslash" defstate="0">
25      <text string="\" state="1"><color red="1.0" green="0.3" blue="0.2" /></text>
26      <text string="\" state="0"><color red="0.125490" green="0.035294" blue="0.0235294" /></text>
27   </element>
28
29
30
31<!-- build screen -->
32
33   <view name="Internal Layout">
34      <bounds left="0" right="100" top="0" bottom="15" />
35
36      <bezel name="digit0" element="digit">
37         <bounds x="0" y="0" width="10" height="15" />
38      </bezel>
39      <bezel name="digit1" element="digit">
40         <bounds x="10" y="0" width="10" height="15" />
41      </bezel>
42
43      <bezel name="digit2" element="digit">
44         <bounds x="30" y="0" width="10" height="15" />
45      </bezel>
46      <bezel name="digit3" element="digit">
47         <bounds x="40" y="0" width="10" height="15" />
48      </bezel>
49
50      <bezel name="digit4" element="digit">
51         <bounds x="60" y="0" width="10" height="15" />
52      </bezel>
53      <bezel name="digit5" element="digit">
54         <bounds x="70" y="0" width="10" height="15" />
55      </bezel>
56      <bezel name="digit6" element="digit">
57         <bounds x="80" y="0" width="10" height="15" />
58      </bezel>
59      <bezel name="digit7" element="digit">
60         <bounds x="90" y="0" width="10" height="15" />
61      </bezel>
62
63<!-- math symbols custom digit -->
64
65      <bezel name="lamp65" element="lamp_dash"><bounds x="21.5" y="7.25" width="7" height="0.5" /></bezel>
66
67      <bezel name="lamp61" element="lamp_slash"><bounds x="24" y="-0.5" width="5" height="7.5" /></bezel>
68      <bezel name="lamp64" element="lamp_slash"><bounds x="21" y="7" width="5" height="7.5" /></bezel>
69
70      <bezel name="lamp66" element="lamp_backslash"><bounds x="21" y="-0.5" width="5" height="7.5" /></bezel>
71      <bezel name="lamp62" element="lamp_backslash"><bounds x="24" y="7" width="5" height="7.5" /></bezel>
72
73      <bezel name="lamp60" element="lamp_dot"><bounds x="24.25" y="2.25" width="1.5" height="1.5" /></bezel>
74      <bezel name="lamp63" element="lamp_dot"><bounds x="24.25" y="11.75" width="1.5" height="1.5" /></bezel>
75
76<!-- equals sign custom digit -->
77
78
79   </view>
80</mamelayout>
trunk/src/mess/mess.lst
r242293r242294
11531153// APF Electronics Inc.
11541154apfm1000
11551155apfimag
1156mathmagi
11561157
11571158// Tatung
11581159einstein
trunk/src/mess/mess.mak
r242293r242294
993993
994994$(MESSOBJ)/apf.a:               \
995995   $(MESS_DRIVERS)/apf.o       \
996   $(MESS_DRIVERS)/mathmagi.o  \
996997
997998$(MESSOBJ)/apollo.a:            \
998999   $(MESS_DRIVERS)/apollo.o $(MESS_MACHINE)/apollo.o $(MESS_MACHINE)/apollo_dbg.o $(MESS_MACHINE)/apollo_kbd.o $(MESS_VIDEO)/apollo.o \
r242293r242294
10001001$(MESSOBJ)/apple.a:             \
10011002   $(MESS_DRIVERS)/apple1.o $(MESS_MACHINE)/apple1.o $(MESS_VIDEO)/apple1.o \
10021003   $(MESS_DRIVERS)/apple2.o $(MESS_DRIVERS)/apple2e.o $(MESS_MACHINE)/apple2.o $(MESS_VIDEO)/apple2.o \
1003   $(MESS_DRIVERS)/tk2000.o \
1004   $(MESS_DRIVERS)/tk2000.o    \
10041005   $(MESS_DRIVERS)/apple2gs.o $(MESS_MACHINE)/apple2gs.o $(MESS_VIDEO)/apple2gs.o \
10051006   $(MESS_DRIVERS)/apple3.o $(MESS_MACHINE)/apple3.o $(MESS_VIDEO)/apple3.o \
10061007   $(MESS_DRIVERS)/lisa.o $(MESS_MACHINE)/lisa.o \
r242293r242294
21142115$(MESS_DRIVERS)/llc.o:      $(MESS_LAYOUT)/llc1.lh
21152116$(MESS_DRIVERS)/lynx.o:     $(MESS_LAYOUT)/lynx.lh
21162117$(MESS_DRIVERS)/mac.o:      $(MESS_LAYOUT)/mac.lh
2118$(MESS_DRIVERS)/mathmagi.o: $(MESS_LAYOUT)/mathmagi.lh
21172119$(MESS_MACHINE)/megacd.o:   $(MESS_LAYOUT)/megacd.lh
21182120$(MESS_DRIVERS)/mekd2.o:    $(MESS_LAYOUT)/mekd2.lh
21192121$(MESS_DRIVERS)/mephisto.o: $(MESS_LAYOUT)/mephisto.lh


Previous 199869 Revisions Next


© 1997-2024 The MAME Team