trunk/src/mess/includes/mikromik.h
| r19906 | r19907 | |
| 3 | 3 | #ifndef __MIKROMIKKO__ |
| 4 | 4 | #define __MIKROMIKKO__ |
| 5 | 5 | |
| 6 | | |
| 7 | 6 | #include "emu.h" |
| 8 | 7 | #include "cpu/i8085/i8085.h" |
| 8 | #include "formats/mm_dsk.h" |
| 9 | 9 | #include "machine/am9517a.h" |
| 10 | 10 | #include "machine/i8212.h" |
| 11 | 11 | #include "machine/pit8253.h" |
| 12 | 12 | #include "machine/ram.h" |
| 13 | #include "machine/upd7201.h" |
| 13 | 14 | #include "machine/upd765.h" |
| 14 | | #include "machine/upd7201.h" |
| 15 | #include "sound/speaker.h" |
| 15 | 16 | #include "video/i8275.h" |
| 16 | 17 | #include "video/upd7220.h" |
| 17 | | #include "sound/speaker.h" |
| 18 | 18 | |
| 19 | 19 | #define SCREEN_TAG "screen" |
| 20 | 20 | #define I8085A_TAG "ic40" |
| r19906 | r19907 | |
| 47 | 47 | m_a8(0), |
| 48 | 48 | m_recall(0), |
| 49 | 49 | m_dack3(1), |
| 50 | | m_tc(CLEAR_LINE) |
| 50 | m_tc(CLEAR_LINE), |
| 51 | m_fdc_tc(0) |
| 51 | 52 | { } |
| 52 | 53 | |
| 53 | 54 | required_device<cpu_device> m_maincpu; |
| r19906 | r19907 | |
| 116 | 117 | int m_recall; |
| 117 | 118 | int m_dack3; |
| 118 | 119 | int m_tc; |
| 120 | int m_fdc_tc; |
| 119 | 121 | |
| 120 | 122 | TIMER_DEVICE_CALLBACK_MEMBER(kbclk_tick); |
| 121 | 123 | DECLARE_FLOPPY_FORMATS( floppy_formats ); |
trunk/src/mess/drivers/mikromik.c
| r19906 | r19907 | |
| 41 | 41 | |
| 42 | 42 | TODO: |
| 43 | 43 | |
| 44 | - fix i8275 DMA timing (full screen is transferred in 1 burst, which kills floppy sector DMA) |
| 44 | 45 | - add HRTC/VRTC output to i8275 |
| 45 | 46 | - NEC uPD7220 GDC |
| 46 | 47 | - accurate video timing |
| 47 | 48 | - floppy DRQ during RECALL = 0 |
| 48 | 49 | - PCB layout |
| 49 | 50 | - NEC uPD7201 MPSC |
| 51 | - model M7 5MB hard disk |
| 50 | 52 | |
| 51 | 53 | */ |
| 52 | 54 | |
| 53 | 55 | #include "includes/mikromik.h" |
| 54 | | #include "formats/mfi_dsk.h" |
| 55 | | #include "formats/mm_dsk.h" |
| 56 | 56 | |
| 57 | 57 | |
| 58 | 58 | //************************************************************************** |
| r19906 | r19907 | |
| 486 | 486 | |
| 487 | 487 | void mm1_state::update_tc() |
| 488 | 488 | { |
| 489 | | m_fdc->tc_w(m_tc && !m_dack3); |
| 489 | int fdc_tc = m_tc && !m_dack3; |
| 490 | |
| 491 | if (m_fdc_tc != fdc_tc) |
| 492 | { |
| 493 | m_fdc_tc = fdc_tc; |
| 494 | m_fdc->tc_w(m_fdc_tc); |
| 495 | } |
| 490 | 496 | } |
| 491 | 497 | |
| 492 | 498 | WRITE_LINE_MEMBER( mm1_state::dma_hrq_w ) |
| r19906 | r19907 | |
| 783 | 789 | MACHINE_CONFIG_END |
| 784 | 790 | |
| 785 | 791 | |
| 792 | //------------------------------------------------- |
| 793 | // MACHINE_CONFIG( mm1m7 ) |
| 794 | //------------------------------------------------- |
| 786 | 795 | |
| 796 | static MACHINE_CONFIG_DERIVED( mm1m7, mm1 ) |
| 797 | // video hardware |
| 798 | MCFG_FRAGMENT_ADD(mm1m6_video) |
| 799 | |
| 800 | // TODO hard disk |
| 801 | MACHINE_CONFIG_END |
| 802 | |
| 803 | |
| 804 | |
| 787 | 805 | //************************************************************************** |
| 788 | 806 | // ROMS |
| 789 | 807 | //************************************************************************** |
| r19906 | r19907 | |
| 820 | 838 | //************************************************************************** |
| 821 | 839 | |
| 822 | 840 | // YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS |
| 823 | | COMP( 1981, mm1m6, 0, 0, mm1m6, mm1, driver_device, 0, "Nokia Data", "MikroMikko 1 M6", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND) |
| 824 | | COMP( 1981, mm1m7, mm1m6, 0, mm1m6, mm1, driver_device, 0, "Nokia Data", "MikroMikko 1 M7", GAME_NOT_WORKING) |
| 841 | COMP( 1981, mm1m6, 0, 0, mm1m6, mm1, driver_device, 0, "Nokia Data", "MikroMikko 1 M6", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) |
| 842 | COMP( 1981, mm1m7, mm1m6, 0, mm1m7, mm1, driver_device, 0, "Nokia Data", "MikroMikko 1 M7", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) |