Previous 15994 Revisions Next

r9404 Sunday 17th October, 2010 at 10:59:39 UTC by Robbbert
[MBEE] Added motor line, bit more tidy up.
[src/mess/drivers]mbee.c
[src/mess/machine]mbee.c

src/mess/machine/mbee.c
r9403r9404
138138   wd17xx_set_drive(mbee_fdc, data & 3);
139139   wd17xx_set_side(mbee_fdc, (data & 4) ? 1 : 0);
140140   wd17xx_dden_w(mbee_fdc, !BIT(data, 3));
141   /* no idea what turns the motors on & off, guessing it could be drive select
142   commented out because it prevents 128k and 256TC from booting up */
143   //floppy_mon_w(floppy_get_device(space->machine, data & 3), CLEAR_LINE); // motor on
141144}
142145
143146/***********************************************************
r9403r9404
578581// Due to the uncertainly and hackage here, this is commented out for now - Robbbert - 05-Oct-2010
579582#if 0
580583
581   address_space *space = cputag_get_address_space(device->machine, "maincpu", ADDRESS_SPACE_PROGRAM);
582   /* once per frame, pulse the PIO B bit 7 - it is in the schematic as an option,
583   but need to find out what it does */
584   mbee_clock_pulse = 0x80;
585
584   //address_space *space = cputag_get_address_space(device->machine, "maincpu", ADDRESS_SPACE_PROGRAM);
586585   /* The printer status connects to the pio ASTB pin, and the printer changing to not
587586        busy should signal an interrupt routine at B61C, (next line) but this doesn't work.
588587        The line below does what the interrupt should be doing. */
589588   /* But it would break any program loaded to that area of memory, such as CP/M programs */
590589
591   z80pio_astb_w( mbee_z80pio, centronics_busy_r(mbee_printer));   /* signal int when not busy (L->H) */
590   //z80pio_astb_w( mbee_z80pio, centronics_busy_r(mbee_printer));   /* signal int when not busy (L->H) */
591   //space->write_byte(0x109, centronics_busy_r(mbee_printer));
592592
593   space->write_byte(0x109, centronics_busy_r(mbee_printer));
593
594   /* once per frame, pulse the PIO B bit 7 - it is in the schematic as an option,
595   but need to find out what it does */
596   mbee_clock_pulse = 0x80;
597   irq0_line_hold(device);
598
594599#endif
595600}
596601
597602DRIVER_INIT( mbee )
598603{
599604   UINT8 *RAM = memory_region(machine, "maincpu");
600   memory_configure_bank(machine, "boot", 0, 2, &RAM[0x0000], 0x8000);
605   memory_configure_bank(machine, "boot", 0, 2, &RAM[0x0000], 0x8000);
601606   mbee_size = 0x4000;
602607}
603608
604609DRIVER_INIT( mbeeic )
605610{
606611   UINT8 *RAM = memory_region(machine, "maincpu");
607   memory_configure_bank(machine, "boot", 0, 2, &RAM[0x0000], 0x8000);
612   memory_configure_bank(machine, "boot", 0, 2, &RAM[0x0000], 0x8000);
608613
609614   RAM = memory_region(machine, "pakrom");
610615   memory_configure_bank(machine, "pak", 0, 16, &RAM[0x0000], 0x2000);
r9403r9404
616621DRIVER_INIT( mbeepc )
617622{
618623   UINT8 *RAM = memory_region(machine, "maincpu");
619   memory_configure_bank(machine, "boot", 0, 2, &RAM[0x0000], 0x8000);
624   memory_configure_bank(machine, "boot", 0, 2, &RAM[0x0000], 0x8000);
620625
621626   RAM = memory_region(machine, "telcomrom");
622627   memory_configure_bank(machine, "telcom", 0, 2, &RAM[0x0000], 0x1000);
r9403r9404
632637DRIVER_INIT( mbeepc85 )
633638{
634639   UINT8 *RAM = memory_region(machine, "maincpu");
635   memory_configure_bank(machine, "boot", 0, 2, &RAM[0x0000], 0x8000);
640   memory_configure_bank(machine, "boot", 0, 2, &RAM[0x0000], 0x8000);
636641
637642   RAM = memory_region(machine, "telcomrom");
638643   memory_configure_bank(machine, "telcom", 0, 2, &RAM[0x0000], 0x1000);
r9403r9404
669674DRIVER_INIT( mbee56 )
670675{
671676   UINT8 *RAM = memory_region(machine, "maincpu");
672   memory_configure_bank(machine, "boot", 0, 2, &RAM[0x0000], 0xe000);
677   memory_configure_bank(machine, "boot", 0, 2, &RAM[0x0000], 0xe000);
673678   mbee_size = 0xe000;
674679}
675680
676681DRIVER_INIT( mbee64 )
677682{
678683   UINT8 *RAM = memory_region(machine, "maincpu");
679   memory_configure_bank(machine, "boot", 0, 1, &RAM[0x0000],  0x0000);
680   memory_configure_bank(machine, "bankl", 0, 1, &RAM[0x1000],  0x0000);
681   memory_configure_bank(machine, "bankl", 1, 1, &RAM[0x9000],  0x0000);
682   memory_configure_bank(machine, "bankh", 0, 1, &RAM[0x8000],  0x0000);
684   memory_configure_bank(machine, "boot", 0, 1, &RAM[0x0000], 0x0000);
685   memory_configure_bank(machine, "bankl", 0, 1, &RAM[0x1000], 0x0000);
686   memory_configure_bank(machine, "bankl", 1, 1, &RAM[0x9000], 0x0000);
687   memory_configure_bank(machine, "bankh", 0, 1, &RAM[0x8000], 0x0000);
683688
684689   RAM = memory_region(machine, "bootrom");
685690   memory_configure_bank(machine, "bankh", 1, 1, &RAM[0x0000], 0x0000);
r9403r9404
691696DRIVER_INIT( mbee128 )
692697{
693698   UINT8 *RAM = memory_region(machine, "maincpu");
694   memory_configure_bank(machine, "boot", 0, 4, &RAM[0x0000],  0x8000); // standard banks 0000
695   memory_configure_bank(machine, "bank1", 0, 4, &RAM[0x1000],  0x8000); // standard banks 1000
696   memory_configure_bank(machine, "bank8l", 1, 1, &RAM[0x0000],  0x0000); // shadow ram
697   memory_configure_bank(machine, "bank8h", 1, 1, &RAM[0x0800],  0x0000); // shadow ram
698   memory_configure_bank(machine, "bank9", 1, 1, &RAM[0x1000],  0x0000); // shadow ram
699   memory_configure_bank(machine, "bankfl", 0, 1, &RAM[0xf000],  0x0000); // shadow ram
700   memory_configure_bank(machine, "bankfh", 0, 1, &RAM[0xf800],  0x0000); // shadow ram
699   memory_configure_bank(machine, "boot", 0, 4, &RAM[0x0000], 0x8000); // standard banks 0000
700   memory_configure_bank(machine, "bank1", 0, 4, &RAM[0x1000], 0x8000); // standard banks 1000
701   memory_configure_bank(machine, "bank8l", 1, 1, &RAM[0x0000], 0x0000); // shadow ram
702   memory_configure_bank(machine, "bank8h", 1, 1, &RAM[0x0800], 0x0000); // shadow ram
703   memory_configure_bank(machine, "bank9", 1, 1, &RAM[0x1000], 0x0000); // shadow ram
704   memory_configure_bank(machine, "bankfl", 0, 1, &RAM[0xf000], 0x0000); // shadow ram
705   memory_configure_bank(machine, "bankfh", 0, 1, &RAM[0xf800], 0x0000); // shadow ram
701706
702707   RAM = memory_region(machine, "bootrom");
703708   memory_configure_bank(machine, "bank9", 0, 1, &RAM[0x1000], 0x0000); // rom
704709   memory_configure_bank(machine, "boot", 4, 1, &RAM[0x0000], 0x0000); // rom at boot for 4usec
705   memory_configure_bank(machine, "bank8l", 0, 1, &RAM[0x0000],  0x0000); // rom
706   memory_configure_bank(machine, "bank8h", 0, 1, &RAM[0x0800],  0x0000); // rom
710   memory_configure_bank(machine, "bank8l", 0, 1, &RAM[0x0000], 0x0000); // rom
711   memory_configure_bank(machine, "bank8h", 0, 1, &RAM[0x0800], 0x0000); // rom
707712
708713   mbee_size = 0x8000;
709714}
r9403r9404
711716DRIVER_INIT( mbee256 )
712717{
713718   UINT8 *RAM = memory_region(machine, "maincpu");
714   memory_configure_bank(machine, "boot", 0, 8, &RAM[0x0000],  0x8000); // standard banks 0000
715   memory_configure_bank(machine, "bank1", 0, 8, &RAM[0x1000],  0x8000); // standard banks 1000
716   memory_configure_bank(machine, "bank8l", 1, 1, &RAM[0x0000],  0x0000); // shadow ram
717   memory_configure_bank(machine, "bank8h", 1, 1, &RAM[0x0800],  0x0000); // shadow ram
718   memory_configure_bank(machine, "bank9", 1, 1, &RAM[0x1000],  0x0000); // shadow ram
719   memory_configure_bank(machine, "bankfl", 0, 1, &RAM[0xf000],  0x0000); // shadow ram
720   memory_configure_bank(machine, "bankfh", 0, 1, &RAM[0xf800],  0x0000); // shadow ram
719   memory_configure_bank(machine, "boot", 0, 8, &RAM[0x0000], 0x8000); // standard banks 0000
720   memory_configure_bank(machine, "bank1", 0, 8, &RAM[0x1000], 0x8000); // standard banks 1000
721   memory_configure_bank(machine, "bank8l", 1, 1, &RAM[0x0000], 0x0000); // shadow ram
722   memory_configure_bank(machine, "bank8h", 1, 1, &RAM[0x0800], 0x0000); // shadow ram
723   memory_configure_bank(machine, "bank9", 1, 1, &RAM[0x1000], 0x0000); // shadow ram
724   memory_configure_bank(machine, "bankfl", 0, 1, &RAM[0xf000], 0x0000); // shadow ram
725   memory_configure_bank(machine, "bankfh", 0, 1, &RAM[0xf800], 0x0000); // shadow ram
721726
722727   RAM = memory_region(machine, "bootrom");
723728   memory_configure_bank(machine, "bank9", 0, 1, &RAM[0x1000], 0x0000); // rom
724729   memory_configure_bank(machine, "boot", 8, 1, &RAM[0x0000], 0x0000); // rom at boot for 4usec
725   memory_configure_bank(machine, "bank8l", 0, 1, &RAM[0x0000],  0x0000); // rom
726   memory_configure_bank(machine, "bank8h", 0, 1, &RAM[0x0800],  0x0000); // rom
730   memory_configure_bank(machine, "bank8l", 0, 1, &RAM[0x0000], 0x0000); // rom
731   memory_configure_bank(machine, "bank8h", 0, 1, &RAM[0x0800], 0x0000); // rom
727732
728733   timer_pulse(machine, ATTOTIME_IN_HZ(1),NULL,0,mbee_rtc_irq);   /* timer for rtc */
729734   timer_pulse(machine, ATTOTIME_IN_HZ(25),NULL,0,mbee256_kbd);   /* timer for kbd */
src/mess/drivers/mbee.c
r9403r9404
649649   MDRV_CPU_PROGRAM_MAP(mbee_mem)
650650   MDRV_CPU_IO_MAP(mbee_io)
651651   MDRV_CPU_CONFIG(mbee_daisy_chain)
652   MDRV_CPU_VBLANK_INT("screen", mbee_interrupt)
653652
654653   MDRV_MACHINE_RESET( mbee )
655654
r9403r9404
691690   MDRV_CPU_PROGRAM_MAP(mbeeic_mem)
692691   MDRV_CPU_IO_MAP(mbeeic_io)
693692   MDRV_CPU_CONFIG(mbee_daisy_chain)
694   MDRV_CPU_VBLANK_INT("screen", mbee_interrupt)
693   //MDRV_CPU_VBLANK_INT("screen", mbee_interrupt)
695694
696695   MDRV_MACHINE_RESET( mbee )
697696

Previous 15994 Revisions Next


© 1998-2018 The MESS Team