Previous 199869 Revisions Next

r26461 Sunday 1st December, 2013 at 11:25:03 UTC by Robbbert
(MESS) New working driver [Robbbert]
--------------------------------------------------
Cromemco CB-308 Single Card Computer
[src/mess]mess.lst
[src/mess/drivers]mcb216.c

trunk/src/mess/mess.lst
r26460r26461
22962296taitons1
22972297sh4robot
22982298mcb216
2299cb308
trunk/src/mess/drivers/mcb216.c
r26460r26461
22// copyright-holders:Robbbert
33/***************************************************************************
44
5    2013-12-01 Driver for Cromemco MCB-216 SCC (Single Card Computer)
5    2013-12-01 Driver for Cromemco MCB-216 SCC (Single Card Computer),
6    and also the earlier CB-308.
7
68    The driver is working, just missing some hardware info (see ToDo).
79
810    TODO:
r26460r26461
1517    - 2000 to 23FF - standard ram
1618    - 2400 to FFFF - optional whatever the user wants (expect ram)
1719
18    When started, you must press Enter twice, then you will be in BASIC.
19    To go to the monitor, use the QUIT command, and to return use the B
20    command.
20    MCB-216:
21    Press Enter twice. You will see the Basic OK prompt. To get into the
22    monitor, use the QUIT command, and to return use the B command.
2123
2224    The mcb216 can use an optional floppy-disk-drive unit. The only other
2325    storage is paper-tape, which is expected to be attached to the terminal.
2426
27    CB-308:
28    Press Enter twice. You will see the Monitor logo. To get into the
29    BASIC (if it was fitted), enter GE400. All monitor commands must be
30    in uppercase. The only storage is paper-tape.
31
2532****************************************************************************/
2633
2734#include "emu.h"
r26460r26461
6976   AM_RANGE(0xe000, 0xefff) AM_ROM AM_REGION("roms", 0)
7077ADDRESS_MAP_END
7178
72// io unknown, assumed to be the same as mcb216
73static ADDRESS_MAP_START(cb308_io, AS_IO, 8, mcb216_state)
74   ADDRESS_MAP_GLOBAL_MASK(0xff)
75   AM_RANGE(0x00, 0x00) AM_READ(status_r)
76   AM_RANGE(0x01, 0x01) AM_READ(keyin_r) AM_DEVWRITE(TERMINAL_TAG, generic_terminal_device, write)
77ADDRESS_MAP_END
7879
79
8080/* Input ports */
8181static INPUT_PORTS_START( mcb216 )
8282INPUT_PORTS_END
r26460r26461
132132   /* basic machine hardware */
133133   MCFG_CPU_ADD("maincpu", Z80, 4000000)
134134   MCFG_CPU_PROGRAM_MAP(cb308_mem)
135   MCFG_CPU_IO_MAP(cb308_io)
135   MCFG_CPU_IO_MAP(mcb216_io)
136136   MCFG_MACHINE_RESET_OVERRIDE(mcb216_state, cb308)
137137
138138   /* video hardware */
r26460r26461
148148
149149ROM_START( cb308 )
150150   ROM_REGION(0x1000, "roms", 0)
151   ROM_LOAD( "cb308r0", 0x0000, 0x0800, NO_DUMP )
152   ROM_LOAD( "cb308r1", 0x0800, 0x0800, NO_DUMP )
151   ROM_LOAD( "cb308r0",  0x0000, 0x0400, CRC(62f50531) SHA1(3071e2ab7fc6b2ca889e4fb5cf7cc9ee8fbe53d3) )
152   // undumped BASIC
153   ROM_LOAD( "cb308r1",  0x0400, 0x0400, NO_DUMP )
154   ROM_LOAD( "cb308r2",  0x0800, 0x0400, NO_DUMP )
155   ROM_LOAD( "cb308r3",  0x0c00, 0x0400, NO_DUMP )
153156ROM_END
154157
155158/* Driver */

Previous 199869 Revisions Next


© 1997-2024 The MAME Team