Previous 15994 Revisions Next

r9338 Thursday 7th October, 2010 at 11:53:56 UTC by Robbbert
[MBEE] Disabled rtc on all but 256TC. Started work on 256TC keyboard.
[src/mess/drivers]mbee.c
[src/mess/includes]mbee.h
[src/mess/machine]mbee.c

src/mess/machine/mbee.c
r9337r9338
1414#include "includes/mbee.h"
1515
1616static size_t mbee_size;
17static UINT8 mbee_vsync;
17static UINT8 mbee_clock_pulse;
1818static UINT8 fdc_status = 0;
1919static running_device *mbee_fdc;
2020static mc146818_device *mbee_rtc;
r9337r9338
7272   if (cassette_input(mbee_cassette) > 0.03)
7373      data |= 0x01;
7474
75   data |= mbee_vsync << 7;
75   data |= mbee_clock_pulse;
7676
77   if (mbee_vsync) mbee_vsync = 0;
77   mbee_clock_pulse = 0;
7878
7979   return data;
8080};
r9337r9338
145145
146146/***********************************************************
147147
148    Keyboard of the 256TC
149
150************************************************************/
151
152READ8_HANDLER( mbee256_18_r )   // read
153{
154   UINT8 data = z80pio_pb_r(mbee_z80pio,0);
155   z80pio_pb_w(mbee_z80pio, 0, data & 0xfd);
156// get next char and return it
157   return 0;
158}
159
160
161/***********************************************************
162
148163    Real Time Clock option
149164
150165************************************************************/
r9337r9338
169184   address_space *mem = cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM);
170185   mc146818_device *rtc = machine->device<mc146818_device>("rtc");
171186   UINT8 data = rtc->read(*mem, 12);
172   if (data) mbee_vsync = 1;
187   if (data) mbee_clock_pulse = 0x80;
173188}
174189
175190
r9337r9338
200215   mbee_cassette = machine->device("cassette");
201216   mbee_printer = machine->device("centronics");
202217   mbee_fdc = machine->device("wd179x");
203   mbee_rtc = machine->device<mc146818_device>("rtc");
218   //mbee_rtc = machine->device<mc146818_device>("rtc");
204219   //wd17xx_set_pause_time(mbee_fdc, 45);       /* default is 40 usec if not set */
205220   //wd17xx_set_complete_command_delay(mbee_fdc, 50);   /* default is 12 usec if not set */
206221}
r9337r9338
215230   mbee_cassette = machine->device("cassette");
216231   mbee_printer = machine->device("centronics");
217232   mbee_fdc = machine->device("wd179x");
218   mbee_rtc = machine->device<mc146818_device>("rtc");
233   //mbee_rtc = machine->device<mc146818_device>("rtc");
219234}
220235
221236MACHINE_RESET( mbee256 )
r9337r9338
240255   address_space *space = cputag_get_address_space(device->machine, "maincpu", ADDRESS_SPACE_PROGRAM);
241256   /* once per frame, pulse the PIO B bit 7 - it is in the schematic as an option,
242257   but need to find out what it does */
243   mbee_vsync = 1;
258   mbee_clock_pulse = 0x80;
244259
245260   /* The printer status connects to the pio ASTB pin, and the printer changing to not
246261        busy should signal an interrupt routine at B61C, (next line) but this doesn't work.
247262        The line below does what the interrupt should be doing. */
263   /* But it would break any program loaded to that area of memory, such as CP/M programs */
248264
249265   z80pio_astb_w( mbee_z80pio, centronics_busy_r(mbee_printer));   /* signal int when not busy (L->H) */
250266
251267   space->write_byte(0x109, centronics_busy_r(mbee_printer));
252
253   /* But it would break any program loaded to that area of memory, such as CP/M programs */
254268#endif
255269}
256270
src/mess/includes/mbee.h
r9337r9338
4848WRITE8_HANDLER( mbee_04_w );
4949WRITE8_HANDLER( mbee_06_w );
5050READ8_HANDLER( mbee_07_r );
51READ8_HANDLER( mbee256_18_r );
5152
5253READ8_HANDLER ( mbee_fdc_status_r );
5354WRITE8_HANDLER ( mbee_fdc_motor_w );
src/mess/drivers/mbee.c
r9337r9338
182182   ADDRESS_MAP_GLOBAL_MASK(0xff)
183183   ADDRESS_MAP_UNMAP_HIGH
184184   AM_RANGE(0x00, 0x03) AM_MIRROR(0x10) AM_DEVREADWRITE("z80pio", z80pio_ba_cd_r, z80pio_ba_cd_w)
185   AM_RANGE(0x04, 0x04) AM_MIRROR(0x10) AM_WRITE(mbee_04_w)
186   AM_RANGE(0x06, 0x06) AM_MIRROR(0x10) AM_WRITE(mbee_06_w)
187   AM_RANGE(0x07, 0x07) AM_MIRROR(0x10) AM_READ(mbee_07_r)
185   //AM_RANGE(0x04, 0x04) AM_MIRROR(0x10) AM_WRITE(mbee_04_w)
186   //AM_RANGE(0x06, 0x06) AM_MIRROR(0x10) AM_WRITE(mbee_06_w)
187   //AM_RANGE(0x07, 0x07) AM_MIRROR(0x10) AM_READ(mbee_07_r)
188188   AM_RANGE(0x08, 0x08) AM_MIRROR(0x10) AM_READWRITE(mbeeic_08_r, mbeeic_08_w)
189189   AM_RANGE(0x09, 0x09) AM_MIRROR(0x10) AM_NOP /* Listed as "Colour Wait Off" or "USART 2651" but doesn't appear in the schematics */
190190   AM_RANGE(0x0a, 0x0a) AM_MIRROR(0x10) AM_READWRITE(mbeeic_0a_r, mbeeic_0a_w)
r9337r9338
196196static ADDRESS_MAP_START(mbeepc_io, ADDRESS_SPACE_IO, 8)
197197   ADDRESS_MAP_UNMAP_HIGH
198198   AM_RANGE(0x0000, 0x0003) AM_MIRROR(0xff10) AM_DEVREADWRITE("z80pio", z80pio_ba_cd_r, z80pio_ba_cd_w)
199   AM_RANGE(0x0004, 0x0004) AM_MIRROR(0xff10) AM_WRITE(mbee_04_w)
200   AM_RANGE(0x0006, 0x0006) AM_MIRROR(0xff10) AM_WRITE(mbee_06_w)
201   AM_RANGE(0x0007, 0x0007) AM_MIRROR(0xff10) AM_READ(mbee_07_r)
199   //AM_RANGE(0x0004, 0x0004) AM_MIRROR(0xff10) AM_WRITE(mbee_04_w)
200   //AM_RANGE(0x0006, 0x0006) AM_MIRROR(0xff10) AM_WRITE(mbee_06_w)
201   //AM_RANGE(0x0007, 0x0007) AM_MIRROR(0xff10) AM_READ(mbee_07_r)
202202   AM_RANGE(0x0008, 0x0008) AM_MIRROR(0xff10) AM_READWRITE(mbeeic_08_r, mbeeic_08_w)
203203   AM_RANGE(0x000a, 0x000a) AM_MIRROR(0xfe10) AM_READWRITE(mbeepc_telcom_low_r, mbeeic_0a_w)
204204   AM_RANGE(0x000b, 0x000b) AM_MIRROR(0xff10) AM_READWRITE(mbee_0b_r, mbee_0b_w)
r9337r9338
210210static ADDRESS_MAP_START(mbeepc85_io, ADDRESS_SPACE_IO, 8)
211211   ADDRESS_MAP_UNMAP_HIGH
212212   AM_RANGE(0x0000, 0x0003) AM_MIRROR(0xff10) AM_DEVREADWRITE("z80pio", z80pio_ba_cd_r, z80pio_ba_cd_w)
213   AM_RANGE(0x0004, 0x0004) AM_MIRROR(0xff10) AM_WRITE(mbee_04_w)
214   AM_RANGE(0x0006, 0x0006) AM_MIRROR(0xff10) AM_WRITE(mbee_06_w)
215   AM_RANGE(0x0007, 0x0007) AM_MIRROR(0xff10) AM_READ(mbee_07_r)
213   //AM_RANGE(0x0004, 0x0004) AM_MIRROR(0xff10) AM_WRITE(mbee_04_w)
214   //AM_RANGE(0x0006, 0x0006) AM_MIRROR(0xff10) AM_WRITE(mbee_06_w)
215   //AM_RANGE(0x0007, 0x0007) AM_MIRROR(0xff10) AM_READ(mbee_07_r)
216216   AM_RANGE(0x0008, 0x0008) AM_MIRROR(0xff10) AM_READWRITE(mbeeic_08_r, mbeeic_08_w)
217217   AM_RANGE(0x000a, 0x000a) AM_MIRROR(0xfe10) AM_READWRITE(mbeepc_telcom_low_r, mbeeic_0a_w)
218218   AM_RANGE(0x000b, 0x000b) AM_MIRROR(0xff10) AM_READWRITE(mbee_0b_r, mbee_0b_w)
r9337r9338
224224static ADDRESS_MAP_START(mbeeppc_io, ADDRESS_SPACE_IO, 8)
225225   ADDRESS_MAP_UNMAP_HIGH
226226   AM_RANGE(0x0000, 0x0003) AM_MIRROR(0xff10) AM_DEVREADWRITE("z80pio", z80pio_ba_cd_r, z80pio_ba_cd_w)
227   AM_RANGE(0x0004, 0x0004) AM_MIRROR(0xff10) AM_WRITE(mbee_04_w)
228   AM_RANGE(0x0006, 0x0006) AM_MIRROR(0xff10) AM_WRITE(mbee_06_w)
229   AM_RANGE(0x0007, 0x0007) AM_MIRROR(0xff10) AM_READ(mbee_07_r)
227   //AM_RANGE(0x0004, 0x0004) AM_MIRROR(0xff10) AM_WRITE(mbee_04_w)
228   //AM_RANGE(0x0006, 0x0006) AM_MIRROR(0xff10) AM_WRITE(mbee_06_w)
229   //AM_RANGE(0x0007, 0x0007) AM_MIRROR(0xff10) AM_READ(mbee_07_r)
230230   AM_RANGE(0x0008, 0x0008) AM_MIRROR(0xff10) AM_READWRITE(mbeeic_08_r, mbeeic_08_w)
231231   AM_RANGE(0x000a, 0x000a) AM_MIRROR(0xfe10) AM_READWRITE(mbeepc_telcom_low_r, mbeeic_0a_w)
232232   AM_RANGE(0x000b, 0x000b) AM_MIRROR(0xff10) AM_READWRITE(mbee_0b_r, mbee_0b_w)
r9337r9338
240240   ADDRESS_MAP_GLOBAL_MASK(0xff)
241241   ADDRESS_MAP_UNMAP_HIGH
242242   AM_RANGE(0x00, 0x03) AM_MIRROR(0x10) AM_DEVREADWRITE("z80pio", z80pio_ba_cd_r, z80pio_ba_cd_w)
243   AM_RANGE(0x04, 0x04) AM_MIRROR(0x10) AM_WRITE(mbee_04_w)
244   AM_RANGE(0x06, 0x06) AM_MIRROR(0x10) AM_WRITE(mbee_06_w)
245   AM_RANGE(0x07, 0x07) AM_MIRROR(0x10) AM_READ(mbee_07_r)
243   //AM_RANGE(0x04, 0x04) AM_MIRROR(0x10) AM_WRITE(mbee_04_w)
244   //AM_RANGE(0x06, 0x06) AM_MIRROR(0x10) AM_WRITE(mbee_06_w)
245   //AM_RANGE(0x07, 0x07) AM_MIRROR(0x10) AM_READ(mbee_07_r)
246246   AM_RANGE(0x08, 0x08) AM_MIRROR(0x10) AM_READWRITE(mbeeic_08_r, mbeeic_08_w)
247247   AM_RANGE(0x0b, 0x0b) AM_MIRROR(0x10) AM_READWRITE(mbee_0b_r, mbee_0b_w)
248248   AM_RANGE(0x0c, 0x0c) AM_MIRROR(0x10) AM_READWRITE(m6545_status_r, m6545_index_w)
r9337r9338
255255   ADDRESS_MAP_GLOBAL_MASK(0xff)
256256   ADDRESS_MAP_UNMAP_HIGH
257257   AM_RANGE(0x00, 0x03) AM_MIRROR(0x10) AM_DEVREADWRITE("z80pio", z80pio_ba_cd_r, z80pio_ba_cd_w)
258   AM_RANGE(0x04, 0x04) AM_MIRROR(0x10) AM_WRITE(mbee_04_w)
259   AM_RANGE(0x06, 0x06) AM_MIRROR(0x10) AM_WRITE(mbee_06_w)
260   AM_RANGE(0x07, 0x07) AM_MIRROR(0x10) AM_READ(mbee_07_r)
258   //AM_RANGE(0x04, 0x04) AM_MIRROR(0x10) AM_WRITE(mbee_04_w)
259   //AM_RANGE(0x06, 0x06) AM_MIRROR(0x10) AM_WRITE(mbee_06_w)
260   //AM_RANGE(0x07, 0x07) AM_MIRROR(0x10) AM_READ(mbee_07_r)
261261   AM_RANGE(0x08, 0x08) AM_MIRROR(0x10) AM_READWRITE(mbeeic_08_r, mbeeic_08_w)
262262   AM_RANGE(0x0b, 0x0b) AM_MIRROR(0x10) AM_READWRITE(mbee_0b_r, mbee_0b_w)
263263   AM_RANGE(0x0c, 0x0c) AM_MIRROR(0x10) AM_READWRITE(m6545_status_r, m6545_index_w)
r9337r9338
278278   AM_RANGE(0x0b, 0x0b) AM_READWRITE(mbee_0b_r, mbee_0b_w)
279279   AM_RANGE(0x0c, 0x0c) AM_READWRITE(m6545_status_r, m6545_index_w)
280280   AM_RANGE(0x0d, 0x0d) AM_READWRITE(m6545_data_r, m6545_data_w)
281   AM_RANGE(0x18, 0x18) AM_READ(mbee256_18_r)
281282   AM_RANGE(0x1c, 0x1c) AM_READWRITE(mbeeppc_1c_r,mbee256_1c_w)
282283   AM_RANGE(0x44, 0x47) AM_DEVREADWRITE("wd179x", wd17xx_r, wd17xx_w)
283284   AM_RANGE(0x48, 0x48) AM_READWRITE(mbee_fdc_status_r, mbee_fdc_motor_w)
r9337r9338
356357   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Space") PORT_CODE(KEYCODE_SPACE) PORT_CHAR(' ')
357358
358359   PORT_START("LINE7") /* IN7 KEY ROW 7 [380] */
359   PORT_BIT (0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("(Up)") PORT_CODE(KEYCODE_UP) PORT_CHAR(UCHAR_MAMEKEY(UP))
360   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("(Up)") PORT_CODE(KEYCODE_UP) PORT_CHAR(UCHAR_MAMEKEY(UP))
360361   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Ctrl") PORT_CODE(KEYCODE_LCONTROL)
361   PORT_BIT (0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("(Down)") PORT_CODE(KEYCODE_DOWN) PORT_CHAR(UCHAR_MAMEKEY(DOWN))
362   PORT_BIT (0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("(Left)") PORT_CODE(KEYCODE_LEFT) PORT_CHAR(UCHAR_MAMEKEY(LEFT))
363   PORT_BIT (0x10, IP_ACTIVE_HIGH, IPT_UNUSED )
364   PORT_BIT (0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
365   PORT_BIT (0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("(Right)") PORT_CODE(KEYCODE_RIGHT) PORT_CHAR(UCHAR_MAMEKEY(RIGHT))
362   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("(Down)") PORT_CODE(KEYCODE_DOWN) PORT_CHAR(UCHAR_MAMEKEY(DOWN))
363   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("(Left)") PORT_CODE(KEYCODE_LEFT) PORT_CHAR(UCHAR_MAMEKEY(LEFT))
364   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED )
365   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
366   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("(Right)") PORT_CODE(KEYCODE_RIGHT) PORT_CHAR(UCHAR_MAMEKEY(RIGHT))
366367   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Shift") PORT_CODE(KEYCODE_LSHIFT) PORT_CODE(KEYCODE_RSHIFT) PORT_CHAR(UCHAR_SHIFT_1)
367368
368369   PORT_START("EXTRA") /* IN8 extra keys (non-premium keyboard only) */
r9337r9338
380381   PORT_CONFSETTING(    0x01, DEF_STR(Yes))
381382INPUT_PORTS_END
382383
384static INPUT_PORTS_START( mbee256 )
385   PORT_START("LINE0") /* IN0 KEY ROW 0 [+00] */
386   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("F1") PORT_CODE(KEYCODE_F1)
387   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Escape") PORT_CODE(KEYCODE_ESC) PORT_CHAR(27)
388   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Tab") PORT_CODE(KEYCODE_TAB) PORT_CHAR(9)
389   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Break") PORT_CODE(KEYCODE_END) PORT_CHAR(3)
390   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Space") PORT_CODE(KEYCODE_SPACE) PORT_CHAR(' ')
391
392   PORT_START("LINE1") /* IN1 KEY ROW 1 [+08] */
393   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("F2") PORT_CODE(KEYCODE_F2)
394   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("1 !") PORT_CODE(KEYCODE_1) PORT_CHAR('1') PORT_CHAR('!')
395   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Q") PORT_CODE(KEYCODE_Q) PORT_CHAR('q') PORT_CHAR('Q') PORT_CHAR(0x11)
396   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("A") PORT_CODE(KEYCODE_A) PORT_CHAR('a') PORT_CHAR('A') PORT_CHAR(0x01)
397   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Lock") PORT_CODE(KEYCODE_CAPSLOCK) PORT_CHAR(UCHAR_MAMEKEY(CAPSLOCK))
398   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Linefeed") PORT_CODE(KEYCODE_HOME) PORT_CHAR(10)
399
400   PORT_START("LINE2") /* IN2 KEY ROW 2 [+10] */
401   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("F3") PORT_CODE(KEYCODE_F3)
402   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("2 @") PORT_CODE(KEYCODE_2) PORT_CHAR('2') PORT_CHAR('@')
403   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("W") PORT_CODE(KEYCODE_W) PORT_CHAR('w') PORT_CHAR('W') PORT_CHAR(0x17)
404   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("S") PORT_CODE(KEYCODE_S) PORT_CHAR('s') PORT_CHAR('S') PORT_CHAR(0x13)
405   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Z") PORT_CODE(KEYCODE_Z) PORT_CHAR('z') PORT_CHAR('Z') PORT_CHAR(0x1a)
406
407   PORT_START("LINE3") /* IN3 KEY ROW 3 [+18] */
408   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("F4") PORT_CODE(KEYCODE_F4)
409   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("3 #") PORT_CODE(KEYCODE_3) PORT_CHAR('3') PORT_CHAR('#')
410   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("E") PORT_CODE(KEYCODE_E) PORT_CHAR('e') PORT_CHAR('E') PORT_CHAR(0x05)
411   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("D") PORT_CODE(KEYCODE_D) PORT_CHAR('d') PORT_CHAR('D') PORT_CHAR(0x04)
412   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("X") PORT_CODE(KEYCODE_X) PORT_CHAR('x') PORT_CHAR('X') PORT_CHAR(0x18)
413
414   PORT_START("LINE4") /* IN4 KEY ROW 4 [+20] */
415   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("F5") PORT_CODE(KEYCODE_F5)
416   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("4 $") PORT_CODE(KEYCODE_4) PORT_CHAR('4') PORT_CHAR('$')
417   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("R") PORT_CODE(KEYCODE_R) PORT_CHAR('r') PORT_CHAR('R') PORT_CHAR(0x12)
418   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("F") PORT_CODE(KEYCODE_F) PORT_CHAR('f') PORT_CHAR('F') PORT_CHAR(0x06)
419   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("C") PORT_CODE(KEYCODE_C) PORT_CHAR('c') PORT_CHAR('C') PORT_CHAR(0x03)
420
421   PORT_START("LINE5") /* IN5 KEY ROW 5 [+28] */
422   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("F6") PORT_CODE(KEYCODE_F6)
423   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("5 %") PORT_CODE(KEYCODE_5) PORT_CHAR('5') PORT_CHAR('%')
424   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("T") PORT_CODE(KEYCODE_T) PORT_CHAR('t') PORT_CHAR('T') PORT_CHAR(0x14)
425   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("G") PORT_CODE(KEYCODE_G) PORT_CHAR('g') PORT_CHAR('G') PORT_CHAR(0x07)
426   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("V") PORT_CODE(KEYCODE_V) PORT_CHAR('v') PORT_CHAR('V') PORT_CHAR(0x16)
427
428   PORT_START("LINE6") /* IN6 KEY ROW 6 [+30] */
429   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("F7") PORT_CODE(KEYCODE_F7)
430   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("6 &") PORT_CODE(KEYCODE_6) PORT_CHAR('6') PORT_CHAR('&')
431   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Y") PORT_CODE(KEYCODE_Y) PORT_CHAR('u') PORT_CHAR('Y') PORT_CHAR(0x19)
432   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("H") PORT_CODE(KEYCODE_H) PORT_CHAR('h') PORT_CHAR('H') PORT_CHAR(0x08)
433   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("(Down)") PORT_CODE(KEYCODE_DOWN) PORT_CHAR(UCHAR_MAMEKEY(DOWN))
434   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("(Right)") PORT_CODE(KEYCODE_RIGHT) PORT_CHAR(UCHAR_MAMEKEY(RIGHT))
435   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("B") PORT_CODE(KEYCODE_B) PORT_CHAR('b') PORT_CHAR('B') PORT_CHAR(0x02)
436
437   PORT_START("LINE7") /* IN7 KEY ROW 7 [+38] */
438   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("F8") PORT_CODE(KEYCODE_F8)
439   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("7 &") PORT_CODE(KEYCODE_7) PORT_CHAR('7') PORT_CHAR('&')
440   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("U") PORT_CODE(KEYCODE_U) PORT_CHAR('u') PORT_CHAR('U') PORT_CHAR(0x15)
441   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("J") PORT_CODE(KEYCODE_J) PORT_CHAR('j') PORT_CHAR('J') PORT_CHAR(0x0a)
442   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("(Left)") PORT_CODE(KEYCODE_LEFT) PORT_CHAR(UCHAR_MAMEKEY(LEFT))
443   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("N") PORT_CODE(KEYCODE_N) PORT_CHAR('n') PORT_CHAR('N') PORT_CHAR(0x0e)
444
445   PORT_START("LINE8") /* IN0 KEY ROW 0 [+40] */
446   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("F9") PORT_CODE(KEYCODE_F9)
447   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("8 *") PORT_CODE(KEYCODE_8) PORT_CHAR('8') PORT_CHAR('*')
448   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("I") PORT_CODE(KEYCODE_I) PORT_CHAR('i') PORT_CHAR('I') PORT_CHAR(0x09)
449   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("K") PORT_CODE(KEYCODE_K) PORT_CHAR('k') PORT_CHAR('K') PORT_CHAR(0x0b)
450   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("(Up)") PORT_CODE(KEYCODE_UP) PORT_CHAR(UCHAR_MAMEKEY(UP))
451   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("M") PORT_CODE(KEYCODE_M) PORT_CHAR('m') PORT_CHAR('M') PORT_CHAR(0x0d)
452
453   PORT_START("LINE9") /* IN1 KEY ROW 1 [+48] */
454   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("F10") PORT_CODE(KEYCODE_F10)
455   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("9 (") PORT_CODE(KEYCODE_9) PORT_CHAR('9') PORT_CHAR('(')
456   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("O") PORT_CODE(KEYCODE_O) PORT_CHAR('o') PORT_CHAR('O') PORT_CHAR(0x0f)
457   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("L") PORT_CODE(KEYCODE_L) PORT_CHAR('l') PORT_CHAR('L') PORT_CHAR(0x0c)
458   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Backspace") PORT_CODE(KEYCODE_BACKSPACE) PORT_CHAR(8)
459   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Enter") PORT_CODE(KEYCODE_ENTER) PORT_CHAR(13)
460   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME(", <") PORT_CODE(KEYCODE_COMMA) PORT_CHAR(',') PORT_CHAR('<')
461
462   PORT_START("LINE10") /* IN2 KEY ROW 2 [+50] */
463   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("F11") PORT_CODE(KEYCODE_F11)
464   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("0 )") PORT_CODE(KEYCODE_0) PORT_CHAR('0') PORT_CHAR(')')
465   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("P") PORT_CODE(KEYCODE_P) PORT_CHAR('p') PORT_CHAR('P') PORT_CHAR(0x10)
466   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("; :") PORT_CODE(KEYCODE_COLON) PORT_CHAR(';') PORT_CHAR(':')
467   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Delete") PORT_CODE(KEYCODE_DEL) PORT_CHAR(127)
468   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("` ~") PORT_CODE(KEYCODE_TILDE) PORT_CHAR('`') PORT_CHAR('~')
469   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("\\ |") PORT_CODE(KEYCODE_OPENBRACE) PORT_CHAR('[') PORT_CHAR('{') PORT_CHAR(0x1b)
470   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME(". >") PORT_CODE(KEYCODE_STOP) PORT_CHAR('.') PORT_CHAR('>')
471
472   PORT_START("LINE11") /* IN3 KEY ROW 3 [+58] */
473   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("F12") PORT_CODE(KEYCODE_F12)
474   //PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("_") PORT_CODE(KEYCODE_) PORT_CHAR('_')
475   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("[ {") PORT_CODE(KEYCODE_OPENBRACE) PORT_CHAR('[') PORT_CHAR('{') PORT_CHAR(0x1b)
476   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("\' \"") PORT_CODE(KEYCODE_QUOTE) PORT_CHAR('\'') PORT_CHAR('\"')
477   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("= +") PORT_CODE(KEYCODE_EQUALS) PORT_CHAR('=') PORT_CHAR('+')
478   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("] }") PORT_CODE(KEYCODE_CLOSEBRACE) PORT_CHAR(']') PORT_CHAR('}') PORT_CHAR(0x1d)
479   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("/ ?") PORT_CODE(KEYCODE_SLASH) PORT_CHAR('/') PORT_CHAR('?')
480
481   PORT_START("LINE12") /* IN4 KEY ROW 4 [+60] */
482   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Shift") PORT_CODE(KEYCODE_LSHIFT)
483
484   PORT_START("LINE13") /* IN5 KEY ROW 5 [+68] */
485   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Ctrl") PORT_CODE(KEYCODE_LCONTROL)
486
487   PORT_START("LINE14") /* IN6 KEY ROW 6 [+70] */
488   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Alt") PORT_CODE(KEYCODE_LALT)
489INPUT_PORTS_END
490
383491static const z80_daisy_config mbee_daisy_chain[] =
384492{
385493   { "z80pio" },
r9337r9338
526634   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
527635
528636   /* devices */
529   MDRV_MC146818_ADD( "rtc", MC146818_STANDARD )
637   //MDRV_MC146818_ADD( "rtc", MC146818_STANDARD )
530638   MDRV_QUICKLOAD_ADD("quickload", mbee, "mwb,com", 2)
531639   MDRV_Z80BIN_QUICKLOAD_ADD("quickload2", mbee, 2)
532640   MDRV_CENTRONICS_ADD("centronics", standard_centronics)
r9337r9338
582690   MDRV_CPU_PROGRAM_MAP(mbee256_mem)
583691   MDRV_CPU_IO_MAP(mbee256_io)
584692   MDRV_MACHINE_RESET( mbee256 )
693   MDRV_MC146818_ADD( "rtc", MC146818_STANDARD )
585694   MDRV_WD179X_ADD("wd179x", mbee_wd17xx_interface )
586695   MDRV_FLOPPY_2_DRIVES_ADD(mbee_floppy_config)
587696MACHINE_CONFIG_END
r9337r9338
881990COMP( 1986, mbee56,   mbee,   0,   mbee56,   mbee,     mbee56,       "Applied Technology",  "Microbee 56k" , GAME_NOT_WORKING )
882991COMP( 1986, mbee64,   mbee,   0,   mbee64,   mbee,     mbee64,       "Applied Technology",  "Microbee 64k" , GAME_NOT_WORKING )
883992COMP( 1986, mbee128,  mbee,   0,   mbee64,   mbee,     mbee64,       "Applied Technology",  "Microbee 128k" , GAME_NOT_WORKING )
884COMP( 1987, mbee256,  mbee,   0,   mbee256,  mbee,     mbee64,       "Applied Technology",  "Microbee 256TC" , GAME_NOT_WORKING )
993COMP( 1987, mbee256,  mbee,   0,   mbee256,  mbee256,  mbee64,       "Applied Technology",  "Microbee 256TC" , GAME_NOT_WORKING )
885994

Previous 15994 Revisions Next


© 1998-2018 The MESS Team