src/mess/drivers/pipbug.c
| r9782 | r9783 | |
| 4 | 4 | |
| 5 | 5 | 08/04/2010 Skeleton driver. |
| 6 | 6 | |
| 7 | PIPBUG isn't a computer; it is a the name of the bios used |
| 8 | in a number of small 2650-based computers from 1976 to 1978. |
| 9 | Examples include Baby 2650, Eurocard 2650, etc., plus Signetics |
| 10 | own PC1001 and PC1500 systems. PIPBUG was written by Signetics. |
| 11 | |
| 12 | The sole means of communication is via a serial terminal. |
| 13 | PIPBUG uses the SENSE and FLAG pins as serial lines, thus |
| 14 | there is no need for a UART. The baud rate is 110. |
| 15 | |
| 16 | The Baby 2650 (featured in Electronics Australia magazine in |
| 17 | March 1977) has 256 bytes of RAM. |
| 18 | |
| 19 | TODO |
| 20 | - Connect to a terminal when MESS has the capability of a |
| 21 | generic serial terminal. |
| 22 | - After that, remove all the current video code (only there |
| 23 | currently to prevent a crash). |
| 24 | |
| 7 | 25 | ****************************************************************************/ |
| 8 | 26 | |
| 9 | 27 | #include "emu.h" |
| r9782 | r9783 | |
| 18 | 36 | |
| 19 | 37 | }; |
| 20 | 38 | |
| 39 | static WRITE8_HANDLER( pipbug_ctrl_w ) |
| 40 | { |
| 41 | // 0x80 is written here - not connected in the baby 2650 |
| 42 | } |
| 21 | 43 | |
| 22 | 44 | static ADDRESS_MAP_START(pipbug_mem, ADDRESS_SPACE_PROGRAM, 8) |
| 23 | 45 | ADDRESS_MAP_UNMAP_HIGH |
| r9782 | r9783 | |
| 25 | 47 | AM_RANGE( 0x0400, 0x7fff) AM_RAM |
| 26 | 48 | ADDRESS_MAP_END |
| 27 | 49 | |
| 28 | | static ADDRESS_MAP_START( pipbug_io , ADDRESS_SPACE_IO, 8) |
| 50 | static ADDRESS_MAP_START( pipbug_io, ADDRESS_SPACE_IO, 8) |
| 29 | 51 | ADDRESS_MAP_UNMAP_HIGH |
| 52 | AM_RANGE(S2650_CTRL_PORT, S2650_CTRL_PORT) AM_WRITE(pipbug_ctrl_w) |
| 53 | //AM_RANGE(S2650_SENSE_PORT, S2650_FO_PORT) AM_READWRITE(pipbug_serial_in,pipbug_serial_out) |
| 30 | 54 | ADDRESS_MAP_END |
| 31 | 55 | |
| 32 | 56 | /* Input ports */ |
| r9782 | r9783 | |
| 44 | 68 | |
| 45 | 69 | static VIDEO_UPDATE( pipbug ) |
| 46 | 70 | { |
| 47 | | return 0; |
| 71 | return 0; |
| 48 | 72 | } |
| 49 | 73 | |
| 50 | 74 | static MACHINE_CONFIG_START( pipbug, pipbug_state ) |
| 51 | | /* basic machine hardware */ |
| 52 | | MDRV_CPU_ADD("maincpu",S2650, XTAL_1MHz) |
| 53 | | MDRV_CPU_PROGRAM_MAP(pipbug_mem) |
| 54 | | MDRV_CPU_IO_MAP(pipbug_io) |
| 75 | /* basic machine hardware */ |
| 76 | MDRV_CPU_ADD("maincpu",S2650, XTAL_1MHz) |
| 77 | MDRV_CPU_PROGRAM_MAP(pipbug_mem) |
| 78 | MDRV_CPU_IO_MAP(pipbug_io) |
| 55 | 79 | |
| 56 | | MDRV_MACHINE_RESET(pipbug) |
| 80 | MDRV_MACHINE_RESET(pipbug) |
| 57 | 81 | |
| 58 | | /* video hardware */ |
| 59 | | MDRV_SCREEN_ADD("screen", RASTER) |
| 60 | | MDRV_SCREEN_REFRESH_RATE(50) |
| 61 | | MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */ |
| 62 | | MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16) |
| 63 | | MDRV_SCREEN_SIZE(640, 480) |
| 64 | | MDRV_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1) |
| 65 | | MDRV_PALETTE_LENGTH(2) |
| 66 | | MDRV_PALETTE_INIT(black_and_white) |
| 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) |
| 67 | 91 | |
| 68 | | MDRV_VIDEO_START(pipbug) |
| 69 | | MDRV_VIDEO_UPDATE(pipbug) |
| 92 | MDRV_VIDEO_START(pipbug) |
| 93 | MDRV_VIDEO_UPDATE(pipbug) |
| 70 | 94 | MACHINE_CONFIG_END |
| 71 | 95 | |
| 72 | 96 | /* ROM definition */ |
| 73 | 97 | ROM_START( pipbug ) |
| 74 | | ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASEFF ) |
| 98 | ROM_REGION( 0x8000, "maincpu", ROMREGION_ERASEFF ) |
| 75 | 99 | ROM_LOAD( "pipbug.rom", 0x0000, 0x0400, CRC(f242b93e) SHA1(f82857cc882e6b5fc9f00b20b375988024f413ff)) |
| 76 | 100 | ROM_END |
| 77 | 101 | |
| 78 | 102 | /* Driver */ |
| 79 | 103 | |
| 80 | 104 | /* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS */ |
| 81 | | COMP( 1979, pipbug, 0, 0, pipbug, pipbug, 0, "<unknown>", "PIPBUG", GAME_NOT_WORKING | GAME_NO_SOUND ) |
| 105 | COMP( 1979, pipbug, 0, 0, pipbug, pipbug, 0, "<unknown>", "PIPBUG", GAME_NOT_WORKING | GAME_NO_SOUND_HW ) |
| 82 | 106 | |