Previous 15994 Revisions Next

r6441 Monday 23rd November, 2009 at 08:42:49 UTC by Miodrag Milanović
- Microsystems International Limited MOD-8 [needs tty implementation]
- Science of Cambridge MK-14 [working]
- Robotron K1003 [not working]
- Elektor SC/MP [booting]
[docs]messnew.txt
[src/mess]mess.mak messdriv.c
[src/mess/drivers]elekscmp.c* k1003.c* mk14.c* mod8.c*
[src/mess/layout]elekscmp.lay* k1003.lay* mk14.lay*

src/mess/layout/mk14.lay
r0r6441
1<?xml version="1.0"?>
2<mamelayout version="2">
3   <element name="digit" defstate="0">
4      <led7seg>
5         <color red="0.75" green="0.0" blue="0.0" />
6      </led7seg>
7   </element>
8   <element name="background">
9      <rect>
10         <bounds left="0" top="0" right="1" bottom="1" />
11         <color red="0.0" green="0.0" blue="0.0" />
12      </rect>
13   </element>
14
15   <view name="Simple LCD">
16      <!-- Black background -->
17      <bezel element="background">
18         <bounds left="1" top="1" right="600" bottom="480" />
19      </bezel>
20      <bezel name="digit0" element="digit">
21         <bounds left="100" top="105" right="148" bottom="185" />
22      </bezel>
23      <bezel name="digit1" element="digit">
24         <bounds left="148" top="105" right="196" bottom="185" />
25      </bezel>
26      <bezel name="digit2" element="digit">
27         <bounds left="196" top="105" right="244" bottom="185" />
28      </bezel>
29      <bezel name="digit3" element="digit">
30         <bounds left="244" top="105" right="292" bottom="185" />
31      </bezel>
32      <bezel name="digit4" element="digit">
33         <bounds left="292" top="105" right="340" bottom="185" />
34      </bezel>
35      <bezel name="digit5" element="digit">
36         <bounds left="340" top="105" right="388" bottom="185" />
37      </bezel>
38      <bezel name="digit6" element="digit">
39         <bounds left="388" top="105" right="436" bottom="185" />
40      </bezel>
41      <bezel name="digit7" element="digit">
42         <bounds left="436" top="105" right="484" bottom="185" />
43      </bezel>
44   </view>
45</mamelayout>
src/mess/layout/k1003.lay
r0r6441
1<?xml version="1.0"?>
2<mamelayout version="2">
3   <element name="digit" defstate="0">
4      <led7seg>
5         <color red="0.75" green="0.0" blue="0.0" />
6      </led7seg>
7   </element>
8   <element name="background">
9      <rect>
10         <bounds left="0" top="0" right="1" bottom="1" />
11         <color red="0.0" green="0.0" blue="0.0" />
12      </rect>
13   </element>
14
15   <view name="Simple LCD">
16      <!-- Black background -->
17      <bezel element="background">
18         <bounds left="1" top="1" right="920" bottom="100" />
19      </bezel>
20     
21      <!-- first 2 digits are away from others -->
22      <bezel name="digit0" element="digit">
23         <bounds left="0" top="10" right="48" bottom="90" />
24      </bezel>
25      <bezel name="digit1" element="digit">
26         <bounds left="48" top="10" right="96" bottom="90" />
27      </bezel>
28     
29      <bezel name="digit2" element="digit">
30         <bounds left="196" top="10" right="244" bottom="90" />
31      </bezel>
32      <bezel name="digit3" element="digit">
33         <bounds left="244" top="10" right="292" bottom="90" />
34      </bezel>
35      <bezel name="digit4" element="digit">
36         <bounds left="292" top="10" right="340" bottom="90" />
37      </bezel>
38      <bezel name="digit5" element="digit">
39         <bounds left="340" top="10" right="388" bottom="90" />
40      </bezel>
41      <bezel name="digit6" element="digit">
42         <bounds left="388" top="10" right="436" bottom="90" />
43      </bezel>
44      <bezel name="digit7" element="digit">
45         <bounds left="436" top="10" right="484" bottom="90" />
46      </bezel>
47      <bezel name="digit8" element="digit">
48         <bounds left="484" top="10" right="532" bottom="90" />
49      </bezel>
50      <bezel name="digit9" element="digit">
51         <bounds left="532" top="10" right="580" bottom="90" />
52      </bezel>
53      <bezel name="digit10" element="digit">
54         <bounds left="580" top="10" right="628" bottom="90" />
55      </bezel>
56      <bezel name="digit11" element="digit">
57         <bounds left="628" top="10" right="676" bottom="90" />
58      </bezel>
59      <bezel name="digit12" element="digit">
60         <bounds left="676" top="10" right="724" bottom="90" />
61      </bezel>
62      <bezel name="digit13" element="digit">
63         <bounds left="772" top="10" right="820" bottom="90" />
64      </bezel>
65      <bezel name="digit14" element="digit">
66         <bounds left="820" top="10" right="868" bottom="90" />
67      </bezel>
68      <bezel name="digit15" element="digit">
69         <bounds left="868" top="10" right="916" bottom="90" />
70      </bezel>
71   </view>
72</mamelayout>
src/mess/layout/elekscmp.lay
r0r6441
1<?xml version="1.0"?>
2<mamelayout version="2">
3   <element name="digit" defstate="0">
4      <led7seg>
5         <color red="0.75" green="0.0" blue="0.0" />
6      </led7seg>
7   </element>
8   <element name="background">
9      <rect>
10         <bounds left="0" top="0" right="1" bottom="1" />
11         <color red="0.0" green="0.0" blue="0.0" />
12      </rect>
13   </element>
14
15   <view name="Simple LCD">
16      <!-- Black background -->
17      <bezel element="background">
18         <bounds left="1" top="1" right="600" bottom="480" />
19      </bezel>
20      <bezel name="digit0" element="digit">
21         <bounds left="100" top="105" right="148" bottom="185" />
22      </bezel>
23      <bezel name="digit1" element="digit">
24         <bounds left="148" top="105" right="196" bottom="185" />
25      </bezel>
26      <bezel name="digit2" element="digit">
27         <bounds left="196" top="105" right="244" bottom="185" />
28      </bezel>
29      <bezel name="digit3" element="digit">
30         <bounds left="244" top="105" right="292" bottom="185" />
31      </bezel>
32      <bezel name="digit4" element="digit">
33         <bounds left="292" top="105" right="340" bottom="185" />
34      </bezel>
35      <bezel name="digit5" element="digit">
36         <bounds left="340" top="105" right="388" bottom="185" />
37      </bezel>
38      <bezel name="digit6" element="digit">
39         <bounds left="388" top="105" right="436" bottom="185" />
40      </bezel>
41      <bezel name="digit7" element="digit">
42         <bounds left="436" top="105" right="484" bottom="185" />
43      </bezel>
44   </view>
45</mamelayout>
src/mess/messdriv.c
r6440r6441
15161516   DRIVER( nexttrb )
15171517   DRIVER( pda600 )
15181518   DRIVER( pce220 )
1519   DRIVER( mod8 )
1520   DRIVER( k1003 )   
1521   DRIVER( mk14 )
1522   DRIVER( elekscmp )
15191523
15201524#endif /* DRIVER_RECURSIVE */
src/mess/mess.mak
r6440r6441
124124CPUS += I4004
125125CPUS += SUPERFX
126126CPUS += Z8
127CPUS += I8008
128CPUS += SCMP
127129
128
129130#-------------------------------------------------
130131# specify available sound cores; some of these are
131132# only for MAME and so aren't included
r6440r6441
15181519   $(MESS_DRIVERS)/next.o      \
15191520   $(MESS_DRIVERS)/pda600.o   \
15201521   $(MESS_DRIVERS)/pce220.o   \
1522   $(MESS_DRIVERS)/mod8.o      \
1523   $(MESS_DRIVERS)/k1003.o      \
1524   $(MESS_DRIVERS)/mk14.o      \
1525   $(MESS_DRIVERS)/elekscmp.o   \
15211526
15221527
15231528
r6440r6441
15671572$(MESS_DRIVERS)/c80.o:      $(MESS_LAYOUT)/c80.lh
15681573$(MESS_DRIVERS)/dectalk.o:   $(MESS_LAYOUT)/dectalk.lh
15691574$(MESS_DRIVERS)/elf.o:      $(MESS_LAYOUT)/elf2.lh
1575$(MESS_DRIVERS)/elekscmp.o:   $(MESS_LAYOUT)/elekscmp.lh
15701576$(MESS_DRIVERS)/ex800.o:   $(MESS_LAYOUT)/ex800.lh
15711577$(MESS_DRIVERS)/glasgow.o:   $(MESS_LAYOUT)/glasgow.lh
1578$(MESS_DRIVERS)/k1003.o:   $(MESS_LAYOUT)/k1003.lh
15721579$(MESS_DRIVERS)/kim1.o:      $(MESS_LAYOUT)/kim1.lh
15731580$(MESS_DRIVERS)/junior.o:   $(MESS_LAYOUT)/junior.lh
15741581$(MESS_DRIVERS)/lc80.o:      $(MESS_LAYOUT)/lc80.lh
15751582$(MESS_DRIVERS)/lx800.o:   $(MESS_LAYOUT)/lx800.lh
15761583$(MESS_DRIVERS)/mephisto.o:   $(MESS_LAYOUT)/mephisto.lh
15771584$(MESS_DRIVERS)/mk1.o:      $(MESS_LAYOUT)/mk1.lh
1585$(MESS_DRIVERS)/mk14.o:      $(MESS_LAYOUT)/mk14.lh
15781586$(MESS_DRIVERS)/mk2.o:      $(MESS_LAYOUT)/mk2.lh
15791587$(MESS_DRIVERS)/mpf1.o:      $(MESS_LAYOUT)/mpf1.lh
15801588$(MESS_DRIVERS)/mmd1.o:      $(MESS_LAYOUT)/mmd1.lh \
src/mess/drivers/elekscmp.c
r0r6441
1/***************************************************************************
2   
3        Elektor SC/MP
4
5        22/11/2009 Skeleton driver.
6
7****************************************************************************/
8
9#include "driver.h"
10#include "cpu/scmp/scmp.h"
11#include "elekscmp.lh"
12
13static WRITE8_HANDLER(hex_display_w)
14{
15   output_set_digit_value(7-offset, data);
16}
17
18static READ8_HANDLER(keyboard_r)
19{
20   return 0;
21}
22
23static ADDRESS_MAP_START(elekscmp_mem, ADDRESS_SPACE_PROGRAM, 8)
24   ADDRESS_MAP_UNMAP_HIGH
25   ADDRESS_MAP_GLOBAL_MASK(0x0fff)
26   AM_RANGE(0x000, 0x5ff) AM_ROM // ROM
27   AM_RANGE(0x700, 0x707) AM_WRITE(hex_display_w)
28   AM_RANGE(0x708, 0x70f) AM_READ(keyboard_r)
29   AM_RANGE(0x800, 0xfff) AM_RAM // RAM - up to 2K of RAM
30ADDRESS_MAP_END
31
32/* Input ports */
33INPUT_PORTS_START( elekscmp )
34INPUT_PORTS_END
35
36
37static MACHINE_RESET(elekscmp)
38{   
39}
40
41static MACHINE_DRIVER_START( elekscmp )
42    /* basic machine hardware */
43    MDRV_CPU_ADD("maincpu",SCMP, XTAL_4_433619MHz)
44    MDRV_CPU_PROGRAM_MAP(elekscmp_mem)
45
46    MDRV_MACHINE_RESET(elekscmp)
47   
48    /* video hardware */
49   MDRV_DEFAULT_LAYOUT(layout_elekscmp)
50   
51MACHINE_DRIVER_END
52
53/* ROM definition */
54ROM_START( elekscmp )
55    ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASEFF )
56   // Too many possible errors, few found and fixed, but not sure if there are more
57   ROM_LOAD( "elbug.001", 0x0000, 0x0200, BAD_DUMP CRC(f733da28) SHA1(b65d98be03eab80478167964beec26bb327bfdf3))
58   ROM_LOAD( "elbug.002", 0x0200, 0x0200, BAD_DUMP CRC(529c0b88) SHA1(bd72dd890cd974e1744ca70aa3457657374cbf76))
59   ROM_LOAD( "elbug.003", 0x0400, 0x0200, BAD_DUMP CRC(13585ad1) SHA1(93f722b3e84095a1b701b04bf9018c891933b9ff))
60ROM_END
61
62/* Driver */
63
64/*    YEAR  NAME    PARENT  COMPAT   MACHINE    INPUT    INIT    CONFIG COMPANY   FULLNAME       FLAGS */
65COMP( ????, elekscmp,  0,       0,    elekscmp,    elekscmp,     0,  0,      "Elektor Electronics",   "Elektor SC/MP",      GAME_NOT_WORKING)
66
src/mess/drivers/mk14.c
r0r6441
1/***************************************************************************
2   
3        Science of Cambridge MK-14
4
5        20/11/2009 Skeleton driver.
6
7****************************************************************************/
8
9#include "driver.h"
10#include "cpu/scmp/scmp.h"
11#include "machine/ins8154.h"
12#include "mk14.lh"
13/*
14000-1FF  512 byte SCIOS ROM  Decoded by 0xxx 
15200-3FF  ROM Shadow / Expansion RAM   
16400-5FF  ROM Shadow / Expansion RAM   
17600-7FF  ROM Shadow / Expansion RAM   
18800-87F  128 bytes I/O chip RAM  Decoded by 1xx0 
19880-8FF  I/O Ports  Decoded by 1xx0 
20900-9FF  Keyboard & Display  Decoded by 1x01 
21A00-AFF  I/O Port & RAM Shadow   
22B00-BFF  256 bytes RAM (Extended) / VDU RAM  Decoded by 1011 
23C00-CFF  I/O Port & RAM Shadow   
24D00-DFF  Keyboard & Display Shadow   
25E00-EFF  I/O Port & RAM Shadow   
26F00-FFF  256 bytes RAM (Standard) / VDU RAM  Decoded by 1111 
27
28*/
29static const char *const keynames[] = {
30                     "LINE0", "LINE1", "LINE2", "LINE3",
31                     "LINE4", "LINE5", "LINE6", "LINE7"};
32                     
33static READ8_HANDLER(keyboard_r)
34{
35   if (offset < 8) {
36      return input_port_read(space->machine, keynames[offset]);
37   } else {
38      return 0xff;
39   }
40}
41
42static WRITE8_HANDLER(display_w)
43{
44   if (offset < 8 ) {
45      output_set_digit_value(7-offset, data);
46   } else {
47      //logerror("write %02x to %02x\n",data,offset);
48   }
49}
50
51static ADDRESS_MAP_START(mk14_mem, ADDRESS_SPACE_PROGRAM, 8)
52   ADDRESS_MAP_UNMAP_HIGH
53   ADDRESS_MAP_GLOBAL_MASK(0x0fff)
54   AM_RANGE(0x000, 0x1ff) AM_ROM AM_MIRROR(0x600) // ROM
55   AM_RANGE(0x800, 0x87f) AM_RAM AM_MIRROR(0x600) // 128 I/O chip RAM
56   AM_RANGE(0x880, 0x8ff)  AM_DEVREADWRITE("ic8", ins8154_r, ins8154_w) AM_MIRROR(0x600) // I/O
57   AM_RANGE(0x900, 0x9ff) AM_READWRITE(keyboard_r, display_w) AM_MIRROR(0x400)
58   AM_RANGE(0xb00, 0xbff) AM_RAM // VDU RAM
59   AM_RANGE(0xf00, 0xfff) AM_RAM // Standard RAM
60ADDRESS_MAP_END
61
62
63/* Input ports */
64INPUT_PORTS_START( mk14 )
65   PORT_START("LINE0")
66      PORT_BIT(0x0F, IP_ACTIVE_LOW, IPT_UNUSED)
67      PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("A") PORT_CODE(KEYCODE_A)
68      PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_UNUSED)
69      PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("8") PORT_CODE(KEYCODE_8)
70      PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("0") PORT_CODE(KEYCODE_0)
71   PORT_START("LINE1")
72      PORT_BIT(0x0F, IP_ACTIVE_LOW, IPT_UNUSED)
73      PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("B") PORT_CODE(KEYCODE_B)
74      PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_UNUSED)
75      PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("9") PORT_CODE(KEYCODE_9)
76      PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("1") PORT_CODE(KEYCODE_1)
77   PORT_START("LINE2")
78      PORT_BIT(0x0F, IP_ACTIVE_LOW, IPT_UNUSED)
79      PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("C") PORT_CODE(KEYCODE_C)
80      PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("GO") PORT_CODE(KEYCODE_F1)
81      PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_UNUSED)
82      PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("2") PORT_CODE(KEYCODE_2)
83   PORT_START("LINE3")
84      PORT_BIT(0x0F, IP_ACTIVE_LOW, IPT_UNUSED)
85      PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("D") PORT_CODE(KEYCODE_D)
86      PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("MEM") PORT_CODE(KEYCODE_F2)
87      PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_UNUSED)
88      PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("3") PORT_CODE(KEYCODE_3)
89   PORT_START("LINE4")
90      PORT_BIT(0x0F, IP_ACTIVE_LOW, IPT_UNUSED)
91      PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_UNUSED)
92      PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("AB") PORT_CODE(KEYCODE_F3)
93      PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_UNUSED)
94      PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("4") PORT_CODE(KEYCODE_4)
95   PORT_START("LINE5")
96      PORT_BIT(0x0F, IP_ACTIVE_LOW, IPT_UNUSED)
97      PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_UNUSED)
98      PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_UNUSED)
99      PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_UNUSED)
100      PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("5") PORT_CODE(KEYCODE_5)
101   PORT_START("LINE6")
102      PORT_BIT(0x0F, IP_ACTIVE_LOW, IPT_UNUSED)
103      PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("E") PORT_CODE(KEYCODE_E)
104      PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_UNUSED)
105      PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_UNUSED)
106      PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("6") PORT_CODE(KEYCODE_6)
107   PORT_START("LINE7")
108      PORT_BIT(0x0F, IP_ACTIVE_LOW, IPT_UNUSED)
109      PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("F") PORT_CODE(KEYCODE_F)
110      PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("TERM") PORT_CODE(KEYCODE_F4)
111      PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_UNUSED)
112      PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("7") PORT_CODE(KEYCODE_7)   
113INPUT_PORTS_END
114
115
116static MACHINE_RESET(mk14)
117{   
118}
119
120static const ins8154_interface mk14_ins8154 =
121{
122   NULL,
123   NULL,
124   NULL,
125   NULL,
126   NULL
127};
128
129static MACHINE_DRIVER_START( mk14 )
130    /* basic machine hardware */
131   // IC1 1SP-8A/600 (8060) SC/MP Microprocessor
132    MDRV_CPU_ADD("maincpu",SCMP, XTAL_4_433619MHz)
133    MDRV_CPU_PROGRAM_MAP(mk14_mem)
134
135    MDRV_MACHINE_RESET(mk14)
136   
137   /* video hardware */
138   MDRV_DEFAULT_LAYOUT(layout_mk14)
139   
140   /* devices */
141   MDRV_INS8154_ADD("ic8", mk14_ins8154)
142MACHINE_DRIVER_END
143
144/* ROM definition */
145ROM_START( mk14 )
146    ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASEFF )
147   // IC2,3 74S571 512 x 4 bit ROM
148   ROM_LOAD( "scios.bin", 0x0000, 0x0200, CRC(8b667daa) SHA1(802dc637ce5391a2a6627f76f919b12a869b56ef))
149ROM_END
150
151/* Driver */
152
153/*    YEAR  NAME   PARENT  COMPAT   MACHINE    INPUT    INIT    CONFIG   COMPANY                  FULLNAME     FLAGS */
154COMP( 1977, mk14,  0,       0,       mk14,       mk14,     0,       0,      "Science of Cambridge",   "MK-14",      0)
155
src/mess/drivers/mod8.c
r0r6441
1/***************************************************************************
2
3      Microsystems International Limited MOD-8
4
5        18/11/2009 Skeleton driver.
6
7****************************************************************************/
8
9#include "driver.h"
10#include "cpu/i8008/i8008.h"
11
12static UINT16 tty_data;
13static UINT8 tty_key_data;
14static int tty_cnt  = 0;
15static WRITE8_HANDLER(out_w)
16{
17   tty_data >>= 1;
18   tty_data |= (data & 0x01) ? 0x8000 : 0;
19   tty_cnt++;
20   if (tty_cnt==10) {
21      logerror("%c",(tty_data >> 7) & 0x7f);
22      tty_cnt = 0;
23   }
24}
25
26static WRITE8_HANDLER(tty_w)
27{
28   tty_data = 0;
29   tty_cnt = 0;
30}
31
32static READ8_HANDLER(tty_r)
33{
34   UINT8 d = tty_key_data & 0x01;
35   tty_key_data >>= 1;
36   return d;
37}
38static ADDRESS_MAP_START(mod8_mem, ADDRESS_SPACE_PROGRAM, 8)
39   ADDRESS_MAP_UNMAP_HIGH
40   AM_RANGE(0x000,0x6ff) AM_ROM
41   AM_RANGE(0x700,0xfff) AM_RAM
42ADDRESS_MAP_END
43
44static ADDRESS_MAP_START( mod8_io , ADDRESS_SPACE_IO, 8)
45   ADDRESS_MAP_UNMAP_HIGH
46   AM_RANGE(0x00,0x00) AM_READ(tty_r)
47   AM_RANGE(0x0a,0x0a) AM_WRITE(out_w)
48   AM_RANGE(0x0b,0x0b) AM_WRITE(tty_w)
49ADDRESS_MAP_END
50
51/* Input ports */
52INPUT_PORTS_START( mod8 )
53INPUT_PORTS_END
54
55static IRQ_CALLBACK ( mod8_irq_callback )
56{
57   return 0xC0; // LAA - NOP equivalent
58}
59
60static MACHINE_RESET(mod8)
61{
62   cpu_set_irq_callback(cputag_get_cpu(machine, "maincpu"), mod8_irq_callback);
63}
64
65static VIDEO_START( mod8 )
66{
67}
68
69static VIDEO_UPDATE( mod8 )
70{
71    return 0;
72}
73
74static MACHINE_DRIVER_START( mod8 )
75    /* basic machine hardware */
76    MDRV_CPU_ADD("maincpu",I8008, 800000)
77    MDRV_CPU_PROGRAM_MAP(mod8_mem)
78    MDRV_CPU_IO_MAP(mod8_io)
79
80    MDRV_MACHINE_RESET(mod8)
81
82    /* video hardware */
83    MDRV_SCREEN_ADD("screen", RASTER)
84    MDRV_SCREEN_REFRESH_RATE(50)
85    MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
86    MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
87    MDRV_SCREEN_SIZE(640, 480)
88    MDRV_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
89    MDRV_PALETTE_LENGTH(2)
90    MDRV_PALETTE_INIT(black_and_white)
91
92    MDRV_VIDEO_START(mod8)
93    MDRV_VIDEO_UPDATE(mod8)
94MACHINE_DRIVER_END
95
96
97/* ROM definition */
98ROM_START( mod8 )
99    ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASEFF )
100   ROM_LOAD( "mon8.001", 0x0000, 0x0100, CRC(b82ac6b8) SHA1(fbea5a6dd4c779ca1671d84089f857a3f548ffcb))
101   ROM_LOAD( "mon8.002", 0x0100, 0x0100, CRC(8b82bc3c) SHA1(66222511527b27e56a5a1f9656d424d407eac7d3))
102   ROM_LOAD( "mon8.003", 0x0200, 0x0100, CRC(679ae913) SHA1(22423efcb9051c9812fcbac9a27af70415d0dd81))
103   ROM_LOAD( "mon8.004", 0x0300, 0x0100, CRC(2a4e580f) SHA1(8b0cb9660fde3cacd299faaa31724e4f3262d77f))
104   ROM_LOAD( "mon8.005", 0x0400, 0x0100, CRC(e281bb1a) SHA1(cc7c2746e075512dbf5eed88ae3aea009558dbd0))
105   ROM_LOAD( "mon8.006", 0x0500, 0x0100, CRC(b7e2f585) SHA1(5408adabc3df6e6ea8dcfb2327b2883b435ab85e))
106   ROM_LOAD( "mon8.007", 0x0600, 0x0100, CRC(49a5c626) SHA1(66c1865db9151818d3b20ec3c68dd793cb98a221))
107ROM_END
108
109/* Driver */
110
111/*    YEAR  NAME    PARENT  COMPAT   MACHINE    INPUT    INIT    CONFIG COMPANY   FULLNAME       FLAGS */
112COMP( ????, mod8,   0,       0,       mod8,    mod8,     0,       0,     "Microsystems International Limited",   "MOD-8",      GAME_NOT_WORKING)
113
src/mess/drivers/k1003.c
r0r6441
1/***************************************************************************
2   
3        Robotron K1003
4
5        20/11/2009 Skeleton driver.
6
7****************************************************************************/
8
9#include "driver.h"
10#include "cpu/i8008/i8008.h"
11#include "k1003.lh"
12
13static ADDRESS_MAP_START(k1003_mem, ADDRESS_SPACE_PROGRAM, 8)
14   AM_RANGE(0x0000,0x07ff) AM_ROM
15   AM_RANGE(0x0800,0x17ff) AM_RAM
16   AM_RANGE(0x1800,0x1fff) AM_ROM   
17   AM_RANGE(0x2000,0x27ff) AM_ROM   
18   AM_RANGE(0x2800,0x2fff) AM_RAM
19   AM_RANGE(0x3000,0x3aff) AM_ROM
20ADDRESS_MAP_END
21
22static READ8_HANDLER (port2_r)
23{
24   return 0x00;
25}
26
27static READ8_HANDLER (key_r)
28{
29   return 0x00;
30}
31
32static UINT8 disp_1;
33static UINT8 disp_2;
34
35static WRITE8_HANDLER (disp_1_w)
36{
37   disp_1 = data;
38}
39
40static WRITE8_HANDLER (disp_2_w)
41{
42   disp_2 = data;
43}
44
45static UINT8 bit_to_dec(UINT8 val) {
46   if (BIT(val,0)) return 0;
47   if (BIT(val,1)) return 1;
48   if (BIT(val,2)) return 2;
49   if (BIT(val,3)) return 3;
50   if (BIT(val,4)) return 4;
51   if (BIT(val,5)) return 5;
52   if (BIT(val,6)) return 6;
53   if (BIT(val,7)) return 7;
54   return 0;
55}
56static WRITE8_HANDLER (disp_w)
57{   
58   output_set_digit_value(bit_to_dec(data)*2,   disp_1);
59   output_set_digit_value(bit_to_dec(data)*2+1, disp_2);
60}
61
62static ADDRESS_MAP_START( k1003_io , ADDRESS_SPACE_IO, 8)
63   ADDRESS_MAP_UNMAP_HIGH
64   AM_RANGE(0x00,0x00) AM_READ(key_r)
65   AM_RANGE(0x02,0x02) AM_READ(port2_r)
66
67   AM_RANGE(0x08,0x08) AM_WRITE(disp_w)
68   AM_RANGE(0x09,0x09) AM_WRITE(disp_2_w)
69   AM_RANGE(0x10,0x10) AM_WRITE(disp_1_w)   
70ADDRESS_MAP_END
71
72/* Input ports */
73INPUT_PORTS_START( k1003 )
74INPUT_PORTS_END
75
76
77static MACHINE_RESET(k1003)
78{   
79}
80
81static MACHINE_DRIVER_START( k1003 )
82    /* basic machine hardware */
83    MDRV_CPU_ADD("maincpu",I8008, 800000)
84    MDRV_CPU_PROGRAM_MAP(k1003_mem)
85    MDRV_CPU_IO_MAP(k1003_io)   
86
87    MDRV_MACHINE_RESET(k1003)
88   
89    /* video hardware */
90    MDRV_DEFAULT_LAYOUT(layout_k1003)
91MACHINE_DRIVER_END
92
93
94/* ROM definition */
95ROM_START( k1003 )
96    ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASEFF )   
97   ROM_LOAD( "k1003.01", 0x0000, 0x0100, CRC(9342f67d) SHA1(75d33cad89cf47e8e691a6ddbb86a8c11f454434))
98   ROM_LOAD( "k1003.02", 0x0100, 0x0100, CRC(a6846b2b) SHA1(a38b15ae0ac3f216e49aef4618363ea0d262fe52))
99   ROM_LOAD( "k1003.03", 0x0200, 0x0100, CRC(3fddd922) SHA1(9c9f28ad8a611d8a0911d2935ffa262976a0272d))
100   ROM_LOAD( "k1003.04", 0x0300, 0x0100, CRC(ec3edbe9) SHA1(d58064db7f2d085760088da1899f44f7a5b02923))
101   ROM_LOAD( "k1003.05", 0x0400, 0x0100, CRC(93836b34) SHA1(7397c9748c1adb347270529464f1e10d3ac92879))
102   ROM_LOAD( "k1003.06", 0x0500, 0x0100, CRC(79e39c8f) SHA1(bffc24a47867834d749d32307dca1053231a1b62))
103   ROM_LOAD( "k1003.07", 0x0600, 0x0100, CRC(1f7279e0) SHA1(1e625adf606f87a55b6e8827fc9764d8a777903a))
104   ROM_LOAD( "k1003.08", 0x0700, 0x0100, CRC(4b950957) SHA1(268c7dbf52a85bdf4eb5ebbe6d01aae45e853a72))
105   
106   ROM_LOAD( "k1003.09", 0x1800, 0x0100, CRC(f3ec866f) SHA1(0b274be7290c9d469205136851c48595cd4f15e2))
107   ROM_LOAD( "k1003.10", 0x1900, 0x0100, CRC(c4af2cf7) SHA1(1815030d08072542fa56c4063b6de1d64b146887))
108   ROM_LOAD( "k1003.11", 0x1a00, 0x0100, CRC(473ef6db) SHA1(45372e09babf6fa08875e53d43e90d53f9cc0ec1))
109   ROM_LOAD( "k1003.12", 0x1b00, 0x0100, CRC(8af505d4) SHA1(21302f2bb660ddaf5e4526335ec457479f1673d5))
110   ROM_LOAD( "k1003.13", 0x1c00, 0x0100, CRC(753166da) SHA1(90b91bac845f5d0ecd3af4d67174d351e478b632))
111   ROM_LOAD( "k1003.14", 0x1d00, 0x0100, CRC(a885a676) SHA1(e899ea5b97734360421d2696e0a75d65fa8a031c))
112   ROM_LOAD( "k1003.15", 0x1e00, 0x0100, CRC(db63b0cd) SHA1(726d80bb34862301df773b8587acccbeedfcc38d))
113   ROM_LOAD( "k1003.16", 0x1f00, 0x0100, CRC(9457f1bd) SHA1(aae0a7c0a63d8213a57850383aaf92927577be7a))
114
115   // Math pack
116   ROM_LOAD( "026.bin", 0x2000, 0x0100, CRC(d678e80c) SHA1(bdf696e9704c286ed0ad5ffbdae206580a277c38))
117   ROM_LOAD( "027.bin", 0x2100, 0x0100, CRC(dbe2ca8e) SHA1(2060bbb6b6dee87c98ddcf84a49069547749ae9b))
118   ROM_LOAD( "028.bin", 0x2200, 0x0100, CRC(2cd742ed) SHA1(ec3f1ba548c64b0fe538af365a383f2341c81988))
119   ROM_LOAD( "029.bin", 0x2300, 0x0100, CRC(12165b43) SHA1(7bb2c97893a07196cf245c8ac3a64c0ee49bb75e))
120   ROM_LOAD( "030.bin", 0x2400, 0x0100, CRC(545dd7e0) SHA1(ab9f2e8cd4d3d4ba8accf74caec20de2e3094a66))
121   ROM_LOAD( "031.bin", 0x2500, 0x0100, CRC(315d27d2) SHA1(26bb39d50781eed8d8be4ad6e1f13bc2b4672ce2))
122   ROM_LOAD( "032.bin", 0x2600, 0x0100, CRC(d03f7cc7) SHA1(5a1c0614eed6dfe21d0d1776f409c1c2209a74d1))
123   ROM_LOAD( "033.bin", 0x2700, 0x0100, CRC(efaeb541) SHA1(decdbbd3c4084dc18b34577f78ddf7044341764a))
124 
125   ROM_LOAD( "k1003.17", 0x3000, 0x0100, CRC(9031390b) SHA1(6f99a9f643b19770a373242edb0df8f342bbc230))
126   ROM_LOAD( "k1003.18", 0x3100, 0x0100, CRC(38435ffe) SHA1(7db78d304fe8a8f71c067babcdcf3c06da908ad3))
127   ROM_LOAD( "k1003.19", 0x3200, 0x0100, CRC(3cfddbda) SHA1(7e9d5c6126d0f08fcb7d88d0cc26eb24467f7321))
128   ROM_LOAD( "k1003.20", 0x3300, 0x0100, CRC(08707172) SHA1(fef18e407ebec13d34c2bd6925ffae533139551e))
129   ROM_LOAD( "k1003.21", 0x3400, 0x0100, CRC(4038b284) SHA1(f6ee7fd8fb06a73a7d1ed71ca7022f1c76c207bd))
130   ROM_LOAD( "k1003.22", 0x3500, 0x0100, CRC(04691d40) SHA1(72f96994811f435adecc74585f3dfaa89d0f192a))
131   ROM_LOAD( "k1003.23", 0x3600, 0x0100, CRC(a2f7170c) SHA1(2cd9a64019c2cd7f6f6146d1886de6a1aa5ccc88))
132   ROM_LOAD( "k1003.24", 0x3700, 0x0100, CRC(c0935c12) SHA1(f3fc7c3fa97b2bcb9ec522002ee760a226eb329a))
133   ROM_LOAD( "k1003.25", 0x3800, 0x0100, CRC(a827aec0) SHA1(a8f582a9a6b31581d8a174a0bc2f4588d6b53400))
134   ROM_LOAD( "k1003.26", 0x3900, 0x0100, CRC(fc949804) SHA1(088b63b7f8704efb6867be899b81d64a294af6be))
135   ROM_LOAD( "k1003.27", 0x3a00, 0x0100, CRC(ddcdd065) SHA1(e29c6f2dd1e4da125d150e28cf51f8c558ec9ee5))
136   // 0x3b00 - missing on board - returning 0xff
137ROM_END
138
139/* Driver */
140
141/*    YEAR  NAME    PARENT  COMPAT   MACHINE    INPUT    INIT    CONFIG COMPANY   FULLNAME       FLAGS */
142COMP( ????, k1003,  0,       0,    k1003,    k1003,     0,       0,      "Robotron",   "K1003",      GAME_NOT_WORKING)
143
144
docs/messnew.txt
r6440r6441
44------------------------------------------------------
55- Hector MX40c [JJ Stacino]
66- Hector MX80c [JJ Stacino]
7- Microsystems International Limited MOD-8 [Miodrag Milanovic]
8- Science of Cambridge MK-14 [Miodrag Milanovic]
9- Robotron K1003 [Miodrag Milanovic]
10- Elektor SC/MP [Miodrag Milanovic]
711
812
9
1013Systems Promoted from GAME_NOT_WORKING:
1114---------------------------------------
1215- Hector 2HR+ [JJ Stacino]

Previous 15994 Revisions Next


© 1998-2018 The MESS Team