Previous 15994 Revisions Next

r9233 Monday 27th September, 2010 at 03:17:11 UTC by Robbbert
[MBEE] Step 3 of reorganisation
[src/mess/drivers]mbee.c
[src/mess/includes]mbee.h
[src/mess/video]mbee.c

src/mess/video/mbee.c
r9232r9233
6161
6262static CRTC6545 crt;
6363static UINT8 framecnt = 0;
64static UINT8 m6545_color_bank = 0;
65static UINT8 m6545_video_bank = 0;
66static UINT8 mbee_pcg_color_latch = 0;
6764static int mbee_wait_time = 0;
6865
69UINT8 *mbee_pcgram;
66static UINT8 *gfxram;
7067static UINT8 *colorram;
7168static UINT8 *videoram;
7269static UINT8 mbee_08;
r9232r9233
7976READ8_HANDLER( mbee_low_r )
8077{
8178   if (mbee_0b & 1)
82   {
83      UINT8 * RAM = memory_region(space->machine, "maincpu")+0x11000;
84      return RAM[offset];
85   }
79      return gfxram[offset];
8680   else
8781      return videoram[offset];
8882}
r9232r9233
9488
9589READ8_HANDLER( mbee_high_r )
9690{
97   return mbee_pcgram[0x800 | offset];
91   return gfxram[0x800 | offset];
9892}
9993
10094WRITE8_HANDLER( mbee_high_w )
10195{
102   mbee_pcgram[0x800 | offset] = data;
96   gfxram[0x800 | offset] = data;
10397}
10498
10599READ8_HANDLER ( mbee_0b_r )
r9232r9233
127121   if (mbee_08 & 0x40)
128122      return colorram[offset];
129123   else
130      return mbee_pcgram[0x800 | offset];
124      return gfxram[0x800 | offset];
131125}
132126
133127WRITE8_HANDLER ( mbeeic_high_w )
r9232r9233
135129   if ((mbee_08 & 0x40) && (~mbee_0b & 1))
136130      colorram[offset] = data;
137131   else
138      mbee_pcgram[0x0800 | offset] = data;
132      gfxram[0x0800 | offset] = data;
139133}
140134
141135READ8_HANDLER ( mbeeic_0a_r )
r9232r9233
151145
152146
153147
154WRITE8_HANDLER ( mbee_pcg_color_latch_w )
155{
156   mbee_pcg_color_latch = data;
157   if (data & 0x40)
158      memory_set_bank(space->machine, "bank3", 1);
159   else
160      memory_set_bank(space->machine, "bank3", 0);
161}
162
163READ8_HANDLER ( mbee_pcg_color_latch_r )
164{
165   return mbee_pcg_color_latch;
166}
167
168WRITE8_HANDLER ( mbee_videoram_w )
169{
170   videoram[offset] = data;
171}
172
173WRITE8_HANDLER ( mbee_pcg_w )
174{
175   mbee_pcgram[0x0800 | offset] = data;
176}
177
178WRITE8_HANDLER ( mbee_pcg_color_w )
179{
180   if( (m6545_video_bank & 0x01) || (mbee_pcg_color_latch & 0x40) == 0 )
181      mbee_pcgram[0x0800 | offset] = data;
182   else
183      colorram[offset] = data;
184}
185
186148static const char *const keynames[] = { "LINE0", "LINE1", "LINE2", "LINE3", "LINE4", "LINE5", "LINE6", "LINE7" };
187149
188150/* The direction keys are used by the pc85 menu. Do not know what uses the "insert" key. */
r9232r9233
229191   }
230192}
231193
232READ8_HANDLER ( mbee_color_bank_r )
233{
234   return m6545_color_bank;
235}
236194
237WRITE8_HANDLER ( mbee_color_bank_w )
238{
239   m6545_color_bank = data;
240   memory_set_bank(space->machine, "pak", data & 7);
241}
242195
243WRITE8_HANDLER ( mbee_0a_w )
196WRITE8_HANDLER ( mbeeppc_0a_w )
244197{
245   m6545_color_bank = data;
198   mbee_0a = data;
246199   memory_set_bank(space->machine, "pak", (data&15) >> 1);
247200}
248201
249READ8_HANDLER ( mbee_netrom_bank_r )
202READ8_HANDLER ( mbeepc_telcom_low_r )
250203{
251204/* Read of port 0A - set Telcom rom to first half */
252205   memory_set_bank(space->machine, "telcom", 0);
253   return m6545_color_bank;
206   return mbee_0a;
254207}
255208
256READ8_HANDLER ( mbee_bank_netrom_r )
209READ8_HANDLER ( mbeepc_telcom_high_r )
257210{
258211/* Read of port 10A - set Telcom rom to 2nd half */
259212   memory_set_bank(space->machine, "telcom", 1);
260   return m6545_color_bank;
213   return mbee_0a;
261214}
262215
263WRITE8_HANDLER( mbee_1c_w )
216WRITE8_HANDLER( mbeeppc_1c_w )
264217{
265218/*  d7 extended graphics - not emulated
266219    d5 bankswitch basic rom
r9232r9233
270223   memory_set_bank(space->machine, "bank6", (data & 0x20) ? 1 : 0);
271224}
272225
273READ8_HANDLER ( mbee_video_bank_r )
274{
275   return m6545_video_bank;
276}
277226
278WRITE8_HANDLER ( mbee_video_bank_w )
279{
280   m6545_video_bank = data;
281   if (data & 1)
282      memory_set_bank(space->machine, "bank2", 0);
283   else
284      memory_set_bank(space->machine, "bank2", 1);
285}
286
287227static void m6545_update_strobe(running_machine *machine, int param)
288228{
289229   keyboard_matrix_r(machine, param);
r9232r9233
463403      if( crt.screen_address_hi == data )
464404         break;
465405      crt.screen_address_hi = data;
466      addr = 0x17000+((data & 32) << 6);
467      memcpy(mbee_pcgram, memory_region(space->machine, "maincpu")+addr, 0x800);
406      memcpy(gfxram, memory_region(space->machine, "gfx") + ((data & 32) << 6), 0x800);
468407      break;
469408   case 13:
470409      crt.screen_address_lo = data;
r9232r9233
557496
558497VIDEO_START( mbee )
559498{
560   UINT8 *ram = memory_region(machine, "maincpu");
561499   videoram = memory_region(machine, "videoram");
562   mbee_pcgram = ram+0x11000;
500   gfxram = memory_region(machine, "gfx")+0x1000;
563501}
564502
565503VIDEO_START( mbeeic )
566504{
567   UINT8 *ram = memory_region(machine, "maincpu");
568505   videoram = memory_region(machine, "videoram");
569506   colorram = memory_region(machine, "colorram");
570   mbee_pcgram = ram+0x11000;
507   gfxram = memory_region(machine, "gfx")+0x1000;
571508}
572509
573510VIDEO_UPDATE( mbee )
r9232r9233
608545                  inv ^= mc6845_cursor[ra];         // cursor scan row
609546
610547            /* get pattern of pixels for that character scanline */
611            gfx = mbee_pcgram[(chr<<4) | ra] ^ inv;
548            gfx = gfxram[(chr<<4) | ra] ^ inv;
612549
613550            /* Display a scanline of a character (8 pixels) */
614551            *p = ( gfx & 0x80 ) ? 1 : 0; p++;
r9232r9233
666603                  inv ^= mc6845_cursor[ra];         // cursor scan row
667604
668605            /* get pattern of pixels for that character scanline */
669            gfx = mbee_pcgram[(chr<<4) | ra] ^ inv;
606            gfx = gfxram[(chr<<4) | ra] ^ inv;
670607            fg = (col & 0x001f) | 64;               // map to foreground palette
671608            bg = (col & 0x07e0) >> 5;               // and background palette
672609
src/mess/includes/mbee.h
r9232r9233
4646
4747/*----------- defined in video/mbee.c -----------*/
4848
49extern UINT8 *mbee_pcgram;
5049
5150READ8_HANDLER ( m6545_status_r );
5251WRITE8_HANDLER ( m6545_index_w );
r9232r9233
6463WRITE8_HANDLER( mbee_0b_w );
6564READ8_HANDLER( mbeeic_0a_r );
6665WRITE8_HANDLER( mbeeic_0a_w );
67READ8_HANDLER ( mbee_color_bank_r );
68WRITE8_HANDLER ( mbee_color_bank_w );
69READ8_HANDLER ( mbee_video_bank_r );
70WRITE8_HANDLER ( mbee_video_bank_w );
71READ8_HANDLER ( mbee_netrom_bank_r );
72READ8_HANDLER ( mbee_bank_netrom_r );
73READ8_HANDLER ( mbee_pcg_color_latch_r );
74WRITE8_HANDLER ( mbee_pcg_color_latch_w );
75WRITE8_HANDLER ( mbee_0a_w );
76WRITE8_HANDLER ( mbee_1c_w );
66READ8_HANDLER ( mbeepc_telcom_low_r );
67READ8_HANDLER ( mbeepc_telcom_high_r );
68WRITE8_HANDLER ( mbeeppc_0a_w );
69WRITE8_HANDLER ( mbeeppc_1c_w );
7770
78WRITE8_HANDLER ( mbee_videoram_w );
79WRITE8_HANDLER ( mbee_pcg_color_w );
80WRITE8_HANDLER ( mbee_pcg_w );
81
8271VIDEO_START( mbee );
8372VIDEO_UPDATE( mbee );
8473
src/mess/drivers/mbee.c
r9232r9233
184184   ADDRESS_MAP_UNMAP_HIGH
185185   AM_RANGE(0x0000, 0x0003) AM_MIRROR(0xff10) AM_DEVREADWRITE("z80pio", z80pio_ba_cd_r, z80pio_ba_cd_w)
186186   AM_RANGE(0x0008, 0x0008) AM_MIRROR(0xff10) AM_READWRITE(mbeeic_08_r, mbeeic_08_w)
187   AM_RANGE(0x000a, 0x000a) AM_MIRROR(0xfe10) AM_READWRITE(mbee_netrom_bank_r, mbeeic_0a_w)
187   AM_RANGE(0x000a, 0x000a) AM_MIRROR(0xfe10) AM_READWRITE(mbeepc_telcom_low_r, mbeeic_0a_w)
188188   AM_RANGE(0x000b, 0x000b) AM_MIRROR(0xff10) AM_READWRITE(mbee_0b_r, mbee_0b_w)
189189   AM_RANGE(0x000c, 0x000c) AM_MIRROR(0xff10) AM_READWRITE(m6545_status_r, m6545_index_w)
190190   AM_RANGE(0x000d, 0x000d) AM_MIRROR(0xff10) AM_READWRITE(m6545_data_r, m6545_data_w)
191   AM_RANGE(0x010a, 0x010a) AM_MIRROR(0xfe10) AM_READWRITE(mbee_bank_netrom_r, mbeeic_0a_w)
191   AM_RANGE(0x010a, 0x010a) AM_MIRROR(0xfe10) AM_READWRITE(mbeepc_telcom_high_r, mbeeic_0a_w)
192192ADDRESS_MAP_END
193193
194194static ADDRESS_MAP_START(mbeepc85_io, ADDRESS_SPACE_IO, 8)
195195   ADDRESS_MAP_UNMAP_HIGH
196196   AM_RANGE(0x0000, 0x0003) AM_MIRROR(0xff10) AM_DEVREADWRITE("z80pio", z80pio_ba_cd_r, z80pio_ba_cd_w)
197197   AM_RANGE(0x0008, 0x0008) AM_MIRROR(0xff10) AM_READWRITE(mbeeic_08_r, mbeeic_08_w)
198   AM_RANGE(0x000a, 0x000a) AM_MIRROR(0xfe10) AM_READWRITE(mbee_netrom_bank_r, mbeeic_0a_w)
198   AM_RANGE(0x000a, 0x000a) AM_MIRROR(0xfe10) AM_READWRITE(mbeepc_telcom_low_r, mbeeic_0a_w)
199199   AM_RANGE(0x000b, 0x000b) AM_MIRROR(0xff10) AM_READWRITE(mbee_0b_r, mbee_0b_w)
200200   AM_RANGE(0x000c, 0x000c) AM_MIRROR(0xff10) AM_READWRITE(m6545_status_r, m6545_index_w)
201201   AM_RANGE(0x000d, 0x000d) AM_MIRROR(0xff10) AM_READWRITE(m6545_data_r, m6545_data_w)
202   AM_RANGE(0x010a, 0x010a) AM_MIRROR(0xfe10) AM_READWRITE(mbee_bank_netrom_r, mbeeic_0a_w)
202   AM_RANGE(0x010a, 0x010a) AM_MIRROR(0xfe10) AM_READWRITE(mbeepc_telcom_high_r, mbeeic_0a_w)
203203ADDRESS_MAP_END
204204
205205static ADDRESS_MAP_START(mbeeppc_io, ADDRESS_SPACE_IO, 8)
206206   ADDRESS_MAP_UNMAP_HIGH
207207   AM_RANGE(0x0000, 0x0003) AM_MIRROR(0xff00) AM_DEVREADWRITE("z80pio", z80pio_ba_cd_r, z80pio_ba_cd_w)
208208   AM_RANGE(0x0008, 0x0008) AM_MIRROR(0xff00) AM_READWRITE(mbeeic_08_r, mbeeic_08_w)
209   AM_RANGE(0x000a, 0x000a) AM_MIRROR(0xfe00) AM_READWRITE(mbee_netrom_bank_r, mbee_0a_w)
209   AM_RANGE(0x000a, 0x000a) AM_MIRROR(0xfe00) AM_READWRITE(mbeepc_telcom_low_r, mbeeppc_0a_w)
210210   AM_RANGE(0x000b, 0x000b) AM_MIRROR(0xff00) AM_READWRITE(mbee_0b_r, mbee_0b_w)
211211   AM_RANGE(0x000c, 0x000c) AM_MIRROR(0xff00) AM_READWRITE(m6545_status_r, m6545_index_w)
212212   AM_RANGE(0x000d, 0x000d) AM_MIRROR(0xff00) AM_READWRITE(m6545_data_r, m6545_data_w)
213   AM_RANGE(0x001c, 0x001c) AM_MIRROR(0xff00) AM_WRITE(mbee_1c_w)
214   AM_RANGE(0x010a, 0x010a) AM_MIRROR(0xfe00) AM_READWRITE(mbee_bank_netrom_r, mbee_0a_w)
213   AM_RANGE(0x001c, 0x001c) AM_MIRROR(0xff00) AM_WRITE(mbeeppc_1c_w)
214   AM_RANGE(0x010a, 0x010a) AM_MIRROR(0xfe00) AM_READWRITE(mbeepc_telcom_high_r, mbeeppc_0a_w)
215215ADDRESS_MAP_END
216216
217217static ADDRESS_MAP_START(mbee56_io, ADDRESS_SPACE_IO, 8)
r9232r9233
360360
361361/* This will show the 128 characters in the ROM + whatever happens to be in the PCG */
362362static GFXDECODE_START( mbee )
363   GFXDECODE_ENTRY( "maincpu", 0x11000, mbee_charlayout, 0, 1 )
363   GFXDECODE_ENTRY( "gfx", 0x1000, mbee_charlayout, 0, 1 )
364364GFXDECODE_END
365365
366366static GFXDECODE_START( mbeeic )
367   GFXDECODE_ENTRY( "maincpu", 0x11000, mbee_charlayout, 0, 48 )
367   GFXDECODE_ENTRY( "gfx", 0x1000, mbee_charlayout, 0, 48 )
368368GFXDECODE_END
369369
370370static FLOPPY_OPTIONS_START(mbee)
r9232r9233
532532{
533533   UINT8 *RAM = memory_region(machine, "maincpu");
534534   memory_configure_bank(machine, "boot", 0, 2, &RAM[0x0000],  0x8000);
535   memory_configure_bank(machine, "pak", 0, 8, &RAM[0x20000], 0x2000);
535
536   RAM = memory_region(machine, "pakrom");
537   memory_configure_bank(machine, "pak", 0, 8, &RAM[0x0000], 0x2000);
538
536539   memory_set_bank(machine, "pak", 0);
537540   mbee_size = 0x8000;
538541}
r9232r9233
541544{
542545   UINT8 *RAM = memory_region(machine, "maincpu");
543546   memory_configure_bank(machine, "boot", 0, 2, &RAM[0x0000],  0x8000);
544   memory_configure_bank(machine, "pak", 0, 8, &RAM[0x20000], 0x2000);
545   memory_configure_bank(machine, "telcom", 0, 2, &RAM[0x18000], 0x1000);
547
548   RAM = memory_region(machine, "telcomrom");
549   memory_configure_bank(machine, "telcom", 0, 2, &RAM[0x0000], 0x1000);
550
551   RAM = memory_region(machine, "pakrom");
552   memory_configure_bank(machine, "pak", 0, 8, &RAM[0x0000], 0x2000);
553
546554   memory_set_bank(machine, "pak", 0);
547555   memory_set_bank(machine, "telcom", 0);
548556   mbee_size = 0x8000;
r9232r9233
552560{
553561   UINT8 *RAM = memory_region(machine, "maincpu");
554562   memory_configure_bank(machine, "boot", 0, 2, &RAM[0x0000],  0x8000);
555   memory_configure_bank(machine, "pak", 0, 8, &RAM[0x20000], 0x2000);
556   memory_configure_bank(machine, "telcom", 0, 2, &RAM[0x18000], 0x1000);
563
564   RAM = memory_region(machine, "telcomrom");
565   memory_configure_bank(machine, "telcom", 0, 2, &RAM[0x0000], 0x1000);
566
567   RAM = memory_region(machine, "pakrom");
568   memory_configure_bank(machine, "pak", 0, 8, &RAM[0x0000], 0x2000);
569
557570   memory_set_bank(machine, "pak", 5);
558571   memory_set_bank(machine, "telcom", 0);
559572   mbee_size = 0x8000;
r9232r9233
563576{
564577   UINT8 *RAM = memory_region(machine, "maincpu");
565578   memory_configure_bank(machine, "boot", 0, 2, &RAM[0x0000],  0x30000);
566   memory_configure_bank(machine, "pak", 0, 8, &RAM[0x20000], 0x2000);
567   memory_configure_bank(machine, "telcom", 0, 2, &RAM[0x18000], 0x1000);
568579   memory_configure_bank(machine, "bank6", 0, 2, &RAM[0x30000], 0x2000);
580
581   RAM = memory_region(machine, "telcomrom");
582   memory_configure_bank(machine, "telcom", 0, 2, &RAM[0x0000], 0x1000);
583
584   RAM = memory_region(machine, "pakrom");
585   memory_configure_bank(machine, "pak", 0, 8, &RAM[0x0000], 0x2000);
586
569587   memory_set_bank(machine, "pak", 5);
570588   memory_set_bank(machine, "telcom", 0);
571589   memory_set_bank(machine, "bank6", 0);
r9232r9233
586604   mbee_size = 0xe000;
587605}
588606
607/* gfxram:
608    0000 = normal characters in charrom
609    0800 = small characters in charrom
610    1000 = characters selected
611    1800 = pcg */
612
589613ROM_START( mbee )
590   ROM_REGION(0x18000,"maincpu",0)
614   ROM_REGION(0x10000,"maincpu", ROMREGION_ERASEFF)
591615   ROM_LOAD("bas510a.ic25",          0x8000,  0x1000, CRC(2ca47c36) SHA1(f36fd0afb3f1df26edc67919e78000b762b6cbcb) )
592616   ROM_LOAD("bas510b.ic27",          0x9000,  0x1000, CRC(a07a0c51) SHA1(dcbdd9df78b4b6b2972de2e4050dabb8ae9c3f5a) )
593617   ROM_LOAD("bas510c.ic28",          0xa000,  0x1000, CRC(906ac00f) SHA1(9b46458e5755e2c16cdb191a6a70df6de9fe0271) )
r9232r9233
599623/*  Optional Dreamcards Chip-8 V2.2 rom, take out the Telcom rom and insert this in its place
600624    ROM_LOAD_OPTIONAL("chip8_22.rom", 0xe000,  0x1000, CRC(11fbb547) SHA1(7bd9dc4b67b33b8e1be99beb6a0ddff25bdbd3f7) ) */
601625
602   ROM_LOAD("charrom.ic13",          0x11000, 0x0800, CRC(b149737b) SHA1(a3cd4f5d0d3c71137cd1f0f650db83333a2e3597) )
603   ROM_RELOAD( 0x17000, 0x0800 )
604   ROM_RELOAD( 0x17800, 0x0800 )
626   ROM_REGION(0x2000, "gfx", 0)
627   ROM_LOAD("charrom.ic13",          0x1000,  0x0800, CRC(b149737b) SHA1(a3cd4f5d0d3c71137cd1f0f650db83333a2e3597) )
628   ROM_RELOAD( 0x0000, 0x0800 )
629   ROM_RELOAD( 0x0800, 0x0800 )
605630
606631   ROM_REGION( 0x0020, "proms", 0 )
607632   ROM_LOAD_OPTIONAL( "82s123.ic16", 0x0000,  0x0020, CRC(4e779985) SHA1(cd2579cf65032c30b3fe7d6d07b89d4633687481) )   /* video switching prom, not needed for emulation purposes */
608633
609   ROM_REGION( 0x0800, "videoram", ROMREGION_ERASEFF )
634   ROM_REGION( 0x0800, "videoram", ROMREGION_ERASE00 )
610635ROM_END
611636
612637ROM_START( mbeeic )
613   ROM_REGION(0x30000,"maincpu",0)
638   ROM_REGION(0x10000,"maincpu", ROMREGION_ERASEFF)
614639   ROM_LOAD("bas522a.rom",           0x8000,  0x2000, CRC(7896a696) SHA1(a158f7803296766160e1f258dfc46134735a9477) )
615640   ROM_LOAD("bas522b.rom",           0xa000,  0x2000, CRC(b21d9679) SHA1(332844433763331e9483409cd7da3f90ac58259d) )
616   ROM_LOAD("charrom.bin",           0x11000, 0x1000, CRC(1f9fcee4) SHA1(e57ac94e03638075dde68a0a8c834a4f84ba47b0) )
617   ROM_RELOAD( 0x17000, 0x1000 )
618641
619642/*  Telcom v1.1 was shipped with the first version of the IC model
620643    ROM_LOAD_OPTIONAL("telcom11.rom", 0xe000,  0x1000, CRC(15516499) SHA1(2d4953f994b66c5d3b1d457b8c92d9a0a69eb8b8) ) */
621644   ROM_LOAD_OPTIONAL("telcom12.rom", 0xe000,  0x1000, CRC(0231bda3) SHA1(be7b32499034f985cc8f7865f2bc2b78c485585c) )
622645
623646   /* PAK option roms */
624   ROM_LOAD_OPTIONAL("edasm.rom",    0x20000, 0x2000, CRC(1af1b3a9) SHA1(d035a997c2dbbb3918b3395a3a5a1076aa203ee5) ) // 0
625   ROM_LOAD_OPTIONAL("wbee12.rom",   0x22000, 0x2000, CRC(0fc21cb5) SHA1(33b3995988fc51ddef1568e160dfe699867adbd5) ) // 1
647   ROM_REGION(0x10000, "pakrom", ROMREGION_ERASEFF)
648   ROM_LOAD_OPTIONAL("edasm.rom",    0x0000,  0x2000, CRC(1af1b3a9) SHA1(d035a997c2dbbb3918b3395a3a5a1076aa203ee5) ) // 0
649   ROM_LOAD_OPTIONAL("wbee12.rom",   0x2000,  0x2000, CRC(0fc21cb5) SHA1(33b3995988fc51ddef1568e160dfe699867adbd5) ) // 1
626650
651   ROM_REGION(0x2000, "gfx", 0)
652   ROM_LOAD("charrom.bin",           0x1000,  0x1000, CRC(1f9fcee4) SHA1(e57ac94e03638075dde68a0a8c834a4f84ba47b0) )
653   ROM_RELOAD( 0x0000, 0x1000 )
654
627655   ROM_REGION( 0x0040, "proms", 0 )
628656   ROM_LOAD( "82s123.ic7",           0x0000,  0x0020, CRC(61b9c16c) SHA1(0ee72377831c21339360c376f7248861d476dc20) )
629657   ROM_LOAD_OPTIONAL( "82s123.ic16", 0x0020,  0x0020, CRC(4e779985) SHA1(cd2579cf65032c30b3fe7d6d07b89d4633687481) )   /* video switching prom, not needed for emulation purposes */
630658
631   ROM_REGION( 0x0800, "videoram", ROMREGION_ERASEFF )
632   ROM_REGION( 0x0800, "colorram", ROMREGION_ERASEFF )
659   ROM_REGION( 0x0800, "videoram", ROMREGION_ERASE00 )
660   ROM_REGION( 0x0800, "colorram", ROMREGION_ERASE00 )
633661ROM_END
634662
635663ROM_START( mbeepc )
636   ROM_REGION(0x30000,"maincpu",0)
664   ROM_REGION(0x10000,"maincpu", ROMREGION_ERASEFF)
637665   ROM_LOAD("bas522a.rom",           0x8000,  0x2000, CRC(7896a696) SHA1(a158f7803296766160e1f258dfc46134735a9477) )
638666   ROM_LOAD("bas522b.rom",           0xa000,  0x2000, CRC(b21d9679) SHA1(332844433763331e9483409cd7da3f90ac58259d) )
639   ROM_LOAD("charrom.bin",           0x11000, 0x1000, CRC(1f9fcee4) SHA1(e57ac94e03638075dde68a0a8c834a4f84ba47b0) )
640   ROM_RELOAD( 0x17000, 0x1000 )
641667
642   ROM_LOAD_OPTIONAL("telcom31.rom", 0x18000, 0x2000, CRC(5a904a29) SHA1(3120fb65ccefeb180ab80d8d35440c70dc8452c8) )
668   ROM_REGION(0x2000, "telcomrom", 0)
669   ROM_LOAD_OPTIONAL("telcom31.rom", 0x0000,  0x2000, CRC(5a904a29) SHA1(3120fb65ccefeb180ab80d8d35440c70dc8452c8) )
643670
644671   /* PAK option roms */
645   ROM_LOAD_OPTIONAL("mwbhelp.rom",  0x20000, 0x2000, CRC(d34fae54) SHA1(5ed30636f48e9d208ce2da367ba4425782a5bce3) ) // 0
646   ROM_LOAD_OPTIONAL("wbee12.rom",   0x22000, 0x2000, CRC(0fc21cb5) SHA1(33b3995988fc51ddef1568e160dfe699867adbd5) ) // 1
647   ROM_LOAD_OPTIONAL("edasm.rom",    0x24000, 0x2000, CRC(1af1b3a9) SHA1(d035a997c2dbbb3918b3395a3a5a1076aa203ee5) )
672   ROM_REGION(0x10000, "pakrom", ROMREGION_ERASEFF)
673   ROM_LOAD_OPTIONAL("mwbhelp.rom",  0x0000,  0x2000, CRC(d34fae54) SHA1(5ed30636f48e9d208ce2da367ba4425782a5bce3) ) // 0
674   ROM_LOAD_OPTIONAL("wbee12.rom",   0x2000,  0x2000, CRC(0fc21cb5) SHA1(33b3995988fc51ddef1568e160dfe699867adbd5) ) // 1
675   ROM_LOAD_OPTIONAL("edasm.rom",    0x4000,  0x2000, CRC(1af1b3a9) SHA1(d035a997c2dbbb3918b3395a3a5a1076aa203ee5) )
648676
677   ROM_REGION(0x2000, "gfx", 0)
678   ROM_LOAD("charrom.bin",           0x1000,  0x1000, CRC(1f9fcee4) SHA1(e57ac94e03638075dde68a0a8c834a4f84ba47b0) )
679   ROM_RELOAD( 0x0000, 0x1000 )
680
649681   ROM_REGION( 0x0040, "proms", 0 )
650682   ROM_LOAD( "82s123.ic7",           0x0000,  0x0020, CRC(61b9c16c) SHA1(0ee72377831c21339360c376f7248861d476dc20) )
651683   ROM_LOAD_OPTIONAL( "82s123.ic16", 0x0020,  0x0020, CRC(4e779985) SHA1(cd2579cf65032c30b3fe7d6d07b89d4633687481) )   /* video switching prom, not needed for emulation purposes */
652684
653   ROM_REGION( 0x0800, "videoram", ROMREGION_ERASEFF )
654   ROM_REGION( 0x0800, "colorram", ROMREGION_ERASEFF )
685   ROM_REGION( 0x0800, "videoram", ROMREGION_ERASE00 )
686   ROM_REGION( 0x0800, "colorram", ROMREGION_ERASE00 )
655687ROM_END
656688
657689ROM_START( mbeepc85 )
658   ROM_REGION(0x30000,"maincpu", ROMREGION_ERASEFF )
690   ROM_REGION(0x10000,"maincpu", ROMREGION_ERASEFF )
659691   ROM_LOAD("bas525a.rom",           0x8000,  0x2000, CRC(a6e02afe) SHA1(0495308c7e1d84b5989a3af6d3b881f4580b2641) )
660692   ROM_LOAD("bas525b.rom",           0xa000,  0x2000, CRC(245dd36b) SHA1(dd288f3e6737627f50d3d2a49df3e57c423d3118) )
661   ROM_LOAD("charrom.bin",           0x11000, 0x1000, CRC(1f9fcee4) SHA1(e57ac94e03638075dde68a0a8c834a4f84ba47b0) )
662   ROM_RELOAD( 0x17000, 0x1000 )
663693
664   ROM_LOAD_OPTIONAL("telco321.rom", 0x18000, 0x2000, CRC(36852a11) SHA1(c45b8d03629e86231c6b256a7435abd87d8872a4) )
694   ROM_REGION(0x2000, "telcomrom", 0)
695   ROM_LOAD_OPTIONAL("telco321.rom", 0x0000,  0x2000, CRC(36852a11) SHA1(c45b8d03629e86231c6b256a7435abd87d8872a4) )
665696
666697   /* PAK option roms - Wordbee must be in slot 0 and Shell must be in slot 5. */
667   ROM_LOAD("wbee13.rom",            0x20000, 0x2000, CRC(d7c58b7b) SHA1(5af1b8d21a0f21534ed1833ae919dbbc6ca973e2) ) // 0
668   ROM_LOAD_OPTIONAL("cmdhelp.rom",  0x22000, 0x2000, CRC(a4f1fa90) SHA1(1456abc6ed0501a3b15a99b4302750843293ae5f) ) // 1
669   ROM_LOAD_OPTIONAL("edasm.rom",    0x24000, 0x2000, CRC(1af1b3a9) SHA1(d035a997c2dbbb3918b3395a3a5a1076aa203ee5) ) // 2
670   ROM_LOAD_OPTIONAL("forth.rom",    0x26000, 0x2000, CRC(c0795c2b) SHA1(8faa0a46fbbdb8a1019d706a40cd4431a5063f8c) ) // 3
671   ROM_LOAD("shell.rom",             0x2a000, 0x2000, CRC(5a2c7cd6) SHA1(8edc086710cb558f2146d660eddc8a18ba6a141c) ) // 5
672   ROM_LOAD_OPTIONAL("ozlogo.rom",   0x2c000, 0x2000, CRC(47c3ef69) SHA1(8274d27c323ca4a6cc9e7d24946ae9c0531c3112) ) // 6
698   ROM_REGION(0x10000, "pakrom", ROMREGION_ERASEFF)
699   ROM_LOAD("wbee13.rom",            0x0000,  0x2000, CRC(d7c58b7b) SHA1(5af1b8d21a0f21534ed1833ae919dbbc6ca973e2) ) // 0
700   ROM_LOAD_OPTIONAL("cmdhelp.rom",  0x2000,  0x2000, CRC(a4f1fa90) SHA1(1456abc6ed0501a3b15a99b4302750843293ae5f) ) // 1
701   ROM_LOAD_OPTIONAL("edasm.rom",    0x4000,  0x2000, CRC(1af1b3a9) SHA1(d035a997c2dbbb3918b3395a3a5a1076aa203ee5) ) // 2
702   ROM_LOAD_OPTIONAL("forth.rom",    0x6000,  0x2000, CRC(c0795c2b) SHA1(8faa0a46fbbdb8a1019d706a40cd4431a5063f8c) ) // 3
703   ROM_LOAD("shell.rom",             0xa000,  0x2000, CRC(5a2c7cd6) SHA1(8edc086710cb558f2146d660eddc8a18ba6a141c) ) // 5
704   ROM_LOAD_OPTIONAL("ozlogo.rom",   0xc000,  0x2000, CRC(47c3ef69) SHA1(8274d27c323ca4a6cc9e7d24946ae9c0531c3112) ) // 6
673705
706   ROM_REGION(0x2000, "gfx", 0)
707   ROM_LOAD("charrom.bin",           0x1000,  0x1000, CRC(1f9fcee4) SHA1(e57ac94e03638075dde68a0a8c834a4f84ba47b0) )
708   ROM_RELOAD( 0x0000, 0x1000 )
709
674710   ROM_REGION( 0x0040, "proms", 0 )
675711   ROM_LOAD( "82s123.ic7",           0x0000,  0x0020, CRC(61b9c16c) SHA1(0ee72377831c21339360c376f7248861d476dc20) )
676712   ROM_LOAD_OPTIONAL( "82s123.ic16", 0x0020,  0x0020, CRC(4e779985) SHA1(cd2579cf65032c30b3fe7d6d07b89d4633687481) )   /* video switching prom, not needed for emulation purposes */
677713
678   ROM_REGION( 0x0800, "videoram", ROMREGION_ERASEFF )
679   ROM_REGION( 0x0800, "colorram", ROMREGION_ERASEFF )
714   ROM_REGION( 0x0800, "videoram", ROMREGION_ERASE00 )
715   ROM_REGION( 0x0800, "colorram", ROMREGION_ERASE00 )
680716ROM_END
681717
682718ROM_START( mbeepc85s )
683   ROM_REGION(0x30000,"maincpu", ROMREGION_ERASEFF )
684   ROM_LOAD("bas524a.rom",          0x8000,  0x2000, CRC(ec9c7a60) SHA1(a4021bcedc8da8c0eb0bda036a1d457619a175b0) )
685   ROM_LOAD("bas524b.rom",          0xa000,  0x2000, CRC(17d3eac7) SHA1(d40d376cc5e751d257d951909a34445e70506c7b) )
686   ROM_LOAD("charroms.bin",          0x11000, 0x1000, CRC(1bcbf083) SHA1(6438649b8b5fc20dd772ec7195e69a5bbe016b09) )
687   ROM_RELOAD( 0x17000, 0x1000 )
719   ROM_REGION(0x10000,"maincpu", ROMREGION_ERASEFF )
720   ROM_LOAD("bas524a.rom",           0x8000,  0x2000, CRC(ec9c7a60) SHA1(a4021bcedc8da8c0eb0bda036a1d457619a175b0) )
721   ROM_LOAD("bas524b.rom",           0xa000,  0x2000, CRC(17d3eac7) SHA1(d40d376cc5e751d257d951909a34445e70506c7b) )
688722
689   ROM_LOAD_OPTIONAL("telco321s.rom", 0x18000, 0x2000, CRC(00f8fde1) SHA1(eb881bbab90c85fd6e29540decd25e884c67f738) )
723   ROM_REGION(0x2000, "telcomrom", 0)
724   ROM_LOAD_OPTIONAL("telco321s.rom", 0x0000, 0x2000, CRC(00f8fde1) SHA1(eb881bbab90c85fd6e29540decd25e884c67f738) )
690725
691726   /* PAK roms - These are not optional and will only work in the correct slots. */
692   ROM_LOAD("wbee20-s.rom",          0x20000, 0x2000, CRC(6a0fe57f) SHA1(a101b588b1872e19382b9e9ea50fabb0fd060aa6) ) // 0
693   ROM_LOAD("db-s.rom",              0x22000, 0x2000, CRC(e2094771) SHA1(62d7fb66c91d2bd24523bc84e4f005cf2c4480bb) ) // 1
694   ROM_LOAD("kalk-s.rom",            0x24000, 0x2000, CRC(08dd71ee) SHA1(c9d506d8bb56f602c3481b253d4cac226f545d98) ) // 2
695   ROM_LOAD("bg-s.rom",              0x26000, 0x2000, CRC(5aa4813e) SHA1(a8638e9046bfb9d5a98c878322295ce408bd879d) ) // 3
696   ROM_LOAD("videotex-s.rom",        0x28000, 0x2000, CRC(67592b3f) SHA1(7f1d23ded34781ccda5f36b4a4fa118a8c0e44ec) ) // 4
697   ROM_LOAD("shell-s.rom",           0x2a000, 0x2000, CRC(bdf1768f) SHA1(4385351d07288cf94947ac63131eeed98572caa1) ) // 5
727   ROM_REGION(0x10000, "pakrom", ROMREGION_ERASEFF)
728   ROM_LOAD("wbee20-s.rom",          0x0000,  0x2000, CRC(6a0fe57f) SHA1(a101b588b1872e19382b9e9ea50fabb0fd060aa6) ) // 0
729   ROM_LOAD("db-s.rom",              0x2000,  0x2000, CRC(e2094771) SHA1(62d7fb66c91d2bd24523bc84e4f005cf2c4480bb) ) // 1
730   ROM_LOAD("kalk-s.rom",            0x4000,  0x2000, CRC(08dd71ee) SHA1(c9d506d8bb56f602c3481b253d4cac226f545d98) ) // 2
731   ROM_LOAD("bg-s.rom",              0x6000,  0x2000, CRC(5aa4813e) SHA1(a8638e9046bfb9d5a98c878322295ce408bd879d) ) // 3
732   ROM_LOAD("videotex-s.rom",        0x8000,  0x2000, CRC(67592b3f) SHA1(7f1d23ded34781ccda5f36b4a4fa118a8c0e44ec) ) // 4
733   ROM_LOAD("shell-s.rom",           0xa000,  0x2000, CRC(bdf1768f) SHA1(4385351d07288cf94947ac63131eeed98572caa1) ) // 5
698734
735   ROM_REGION(0x2000, "gfx", 0)
736   ROM_LOAD("charrom.bin",           0x1000,  0x1000, CRC(1bcbf083) SHA1(6438649b8b5fc20dd772ec7195e69a5bbe016b09) )
737   ROM_RELOAD( 0x0000, 0x1000 )
738
699739   ROM_REGION( 0x0040, "proms", 0 )
700740   ROM_LOAD( "82s123.ic7",           0x0000,  0x0020, CRC(61b9c16c) SHA1(0ee72377831c21339360c376f7248861d476dc20) )
701741   ROM_LOAD_OPTIONAL( "82s123.ic16", 0x0020,  0x0020, CRC(4e779985) SHA1(cd2579cf65032c30b3fe7d6d07b89d4633687481) )   /* video switching prom, not needed for emulation purposes */
702742
703   ROM_REGION( 0x0800, "videoram", ROMREGION_ERASEFF )
704   ROM_REGION( 0x0800, "colorram", ROMREGION_ERASEFF )
743   ROM_REGION( 0x0800, "videoram", ROMREGION_ERASE00 )
744   ROM_REGION( 0x0800, "colorram", ROMREGION_ERASE00 )
705745ROM_END
706746
707747ROM_START( mbeeppc )
708748   ROM_REGION(0x40000,"maincpu", ROMREGION_ERASEFF )
709749   ROM_LOAD("bas529b.rom",           0xa000,  0x2000, CRC(a1bd986b) SHA1(5d79f210c9042db5aefc85a0bdf45210cb9e9899) )
710   ROM_LOAD("charrom.bin",           0x11000, 0x1000, CRC(1f9fcee4) SHA1(e57ac94e03638075dde68a0a8c834a4f84ba47b0) )
711   ROM_RELOAD( 0x17000, 0x1000 )
750   ROM_LOAD("bas529a.rom",           0x30000, 0x4000, CRC(fe8242e1) SHA1(ff790edf4fcc7a134d451dbad7779157b07f6abf) )
712751
713   ROM_LOAD_OPTIONAL("telco321.rom", 0x18000, 0x2000, CRC(36852a11) SHA1(c45b8d03629e86231c6b256a7435abd87d8872a4) )
752   ROM_REGION(0x2000, "telcomrom", 0)
753   ROM_LOAD_OPTIONAL("telco321.rom", 0x0000,  0x2000, CRC(36852a11) SHA1(c45b8d03629e86231c6b256a7435abd87d8872a4) )
714754
715755   /* PAK option roms - Wordbee must be in slot 0 and Shell must be in slot 5. */
716   ROM_LOAD("wbee13.rom",            0x20000, 0x2000, CRC(d7c58b7b) SHA1(5af1b8d21a0f21534ed1833ae919dbbc6ca973e2) ) // 0
717   ROM_LOAD_OPTIONAL("cmdhelp.rom",  0x22000, 0x2000, CRC(a4f1fa90) SHA1(1456abc6ed0501a3b15a99b4302750843293ae5f) ) // 1
718   ROM_LOAD_OPTIONAL("busycalc.rom", 0x24000, 0x4000, CRC(f2897427) SHA1(b4c351bdac72d89589980be6d654f9b931bcba6b) ) // 2
719   ROM_LOAD_OPTIONAL("graphics.rom", 0x26000, 0x4000, CRC(9e9d327c) SHA1(aebf60ed153004380b9f271f2212376910a6cef9) ) // 3
720   ROM_LOAD_OPTIONAL("vtex235.rom",  0x28000, 0x2000, CRC(8c30ecb2) SHA1(cf068462d7def885bdb5d3a265851b88c727c0d7) ) // 4
721   ROM_LOAD("ppcshell.rom",          0x2a000, 0x2000, CRC(1e793555) SHA1(ddeaa081ec4408e80e3fb192865d87daa035c701) ) // 5
722   ROM_LOAD("bas529a.rom",           0x30000, 0x4000, CRC(fe8242e1) SHA1(ff790edf4fcc7a134d451dbad7779157b07f6abf) )
756   // roms need to be sorted out so they DONT OVERLAP **********
757   ROM_REGION(0x20000, "pakrom", ROMREGION_ERASEFF)
758   ROM_LOAD("wbee13.rom",            0x0000,  0x2000, CRC(d7c58b7b) SHA1(5af1b8d21a0f21534ed1833ae919dbbc6ca973e2) ) // 0
759   ROM_LOAD_OPTIONAL("cmdhelp.rom",  0x2000,  0x2000, CRC(a4f1fa90) SHA1(1456abc6ed0501a3b15a99b4302750843293ae5f) ) // 1
760   ROM_LOAD_OPTIONAL("busycalc.rom", 0x4000,  0x4000, CRC(f2897427) SHA1(b4c351bdac72d89589980be6d654f9b931bcba6b) ) // 2
761   ROM_LOAD_OPTIONAL("graphics.rom", 0x6000,  0x4000, CRC(9e9d327c) SHA1(aebf60ed153004380b9f271f2212376910a6cef9) ) // 3
762   ROM_LOAD_OPTIONAL("vtex235.rom",  0x8000,  0x2000, CRC(8c30ecb2) SHA1(cf068462d7def885bdb5d3a265851b88c727c0d7) ) // 4
763   ROM_LOAD("ppcshell.rom",          0xa000,  0x2000, CRC(1e793555) SHA1(ddeaa081ec4408e80e3fb192865d87daa035c701) ) // 5
723764
765   ROM_REGION(0x2000, "gfx", 0)
766   ROM_LOAD("charrom.bin",           0x1000,  0x1000, CRC(1f9fcee4) SHA1(e57ac94e03638075dde68a0a8c834a4f84ba47b0) )
767   ROM_RELOAD( 0x0000, 0x1000 )
768
724769   ROM_REGION( 0x0040, "proms", 0 )
725770   ROM_LOAD( "82s123.ic7",           0x0000,  0x0020, CRC(61b9c16c) SHA1(0ee72377831c21339360c376f7248861d476dc20) )
726771   ROM_LOAD_OPTIONAL( "82s123.ic16", 0x0020,  0x0020, CRC(4e779985) SHA1(cd2579cf65032c30b3fe7d6d07b89d4633687481) )   /* video switching prom, not needed for emulation purposes */
727772
728   ROM_REGION( 0x1000, "videoram", ROMREGION_ERASEFF )
729   ROM_REGION( 0x0800, "colorram", ROMREGION_ERASEFF )
773   ROM_REGION( 0x1000, "videoram", ROMREGION_ERASE00 )
774   ROM_REGION( 0x0800, "colorram", ROMREGION_ERASE00 )
730775ROM_END
731776
732777ROM_START( mbee56 )
733   ROM_REGION(0x18000,"maincpu",0)
778   ROM_REGION(0x10000,"maincpu", ROMREGION_ERASEFF)
734779   ROM_LOAD("56kb.rom",              0xe000,  0x1000, CRC(28211224) SHA1(b6056339402a6b2677b0e6c57bd9b78a62d20e4f) )
735   ROM_LOAD("charrom.bin",           0x11000, 0x1000, CRC(1f9fcee4) SHA1(e57ac94e03638075dde68a0a8c834a4f84ba47b0) )
736   ROM_RELOAD( 0x17000, 0x1000 )
737780
781   ROM_REGION(0x2000, "gfx", 0)
782   ROM_LOAD("charrom.bin",           0x1000,  0x1000, CRC(1f9fcee4) SHA1(e57ac94e03638075dde68a0a8c834a4f84ba47b0) )
783   ROM_RELOAD( 0x0000, 0x1000 )
784
738785   ROM_REGION( 0x0040, "proms", 0 )
739786   ROM_LOAD( "82s123.ic7",           0x0000,  0x0020, CRC(61b9c16c) SHA1(0ee72377831c21339360c376f7248861d476dc20) )
740787   ROM_LOAD_OPTIONAL( "82s123.ic16", 0x0020,  0x0020, CRC(4e779985) SHA1(cd2579cf65032c30b3fe7d6d07b89d4633687481) )   /* video switching prom, not needed for emulation purposes */
741788
742   ROM_REGION( 0x0800, "videoram", ROMREGION_ERASEFF )
743   ROM_REGION( 0x0800, "colorram", ROMREGION_ERASEFF )
789   ROM_REGION( 0x0800, "videoram", ROMREGION_ERASE00 )
790   ROM_REGION( 0x0800, "colorram", ROMREGION_ERASE00 )
744791ROM_END
745792
746793ROM_START( mbee64 )
747   ROM_REGION(0x18000,"maincpu",0)
794   ROM_REGION(0x10000,"maincpu", ROMREGION_ERASEFF)
748795   ROM_LOAD("rom1.bin",              0xdf00,  0x2000, CRC(995c53db) SHA1(46e1a5cfd5795b8cf528bacf9dc79398ff7d64af) )
749   ROM_LOAD("charrom.bin",           0x11000, 0x1000, CRC(1f9fcee4) SHA1(e57ac94e03638075dde68a0a8c834a4f84ba47b0) )
750   ROM_RELOAD( 0x17000, 0x1000 )
751796
797   ROM_REGION(0x2000, "gfx", 0)
798   ROM_LOAD("charrom.bin",           0x1000,  0x1000, CRC(1f9fcee4) SHA1(e57ac94e03638075dde68a0a8c834a4f84ba47b0) )
799   ROM_RELOAD( 0x0000, 0x1000 )
800
752801   ROM_REGION( 0x0040, "proms", 0 )
753802   ROM_LOAD( "82s123.ic7",           0x0000,  0x0020, CRC(61b9c16c) SHA1(0ee72377831c21339360c376f7248861d476dc20) )
754803   ROM_LOAD_OPTIONAL( "82s123.ic16", 0x0020,  0x0020, CRC(4e779985) SHA1(cd2579cf65032c30b3fe7d6d07b89d4633687481) )   /* video switching prom, not needed for emulation purposes */
755804
756   ROM_REGION( 0x0800, "videoram", ROMREGION_ERASEFF )
757   ROM_REGION( 0x0800, "colorram", ROMREGION_ERASEFF )
805   ROM_REGION( 0x0800, "videoram", ROMREGION_ERASE00 )
806   ROM_REGION( 0x0800, "colorram", ROMREGION_ERASE00 )
758807ROM_END
759808
760809/***************************************************************************

Previous 15994 Revisions Next


© 1998-2018 The MESS Team