2017-11-12 03:06:38 -05:00
|
|
|
/*
|
|
|
|
|
* 86Box A hypervisor and IBM PC system emulator that specializes in
|
|
|
|
|
* running old operating systems and software designed for IBM
|
|
|
|
|
* PC systems and compatibles from 1981 through fairly recent
|
|
|
|
|
* system designs based on the PCI bus.
|
|
|
|
|
*
|
|
|
|
|
* This file is part of the 86Box distribution.
|
|
|
|
|
*
|
|
|
|
|
* Emulation of various Compaq XT-class PC's.
|
|
|
|
|
*
|
2018-03-19 01:02:04 +01:00
|
|
|
* Version: @(#)m_xt_compaq.c 1.0.4 2018/03/18
|
2017-11-12 03:06:38 -05:00
|
|
|
*
|
|
|
|
|
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
|
|
|
|
|
* Miran Grca, <mgrca8@gmail.com>
|
|
|
|
|
* TheCollector1995, <mariogplayer@gmail.com>
|
|
|
|
|
*
|
2018-01-17 18:43:36 +01:00
|
|
|
* Copyright 2008-2018 Sarah Walker.
|
|
|
|
|
* Copyright 2016-2018 Miran Grca.
|
2017-11-12 03:06:38 -05:00
|
|
|
*/
|
|
|
|
|
#include <stdio.h>
|
|
|
|
|
#include <stdint.h>
|
|
|
|
|
#include <string.h>
|
|
|
|
|
#include <wchar.h>
|
|
|
|
|
#include "../86box.h"
|
|
|
|
|
#include "../cpu/cpu.h"
|
|
|
|
|
#include "../nmi.h"
|
|
|
|
|
#include "../pit.h"
|
|
|
|
|
#include "../mem.h"
|
|
|
|
|
#include "../rom.h"
|
|
|
|
|
#include "../device.h"
|
2018-01-17 18:43:36 +01:00
|
|
|
#include "../floppy/fdd.h"
|
|
|
|
|
#include "../floppy/fdc.h"
|
2017-11-12 03:06:38 -05:00
|
|
|
#include "../game/gameport.h"
|
|
|
|
|
#include "../keyboard.h"
|
2018-02-24 16:25:57 +01:00
|
|
|
#include "../lpt.h"
|
2017-11-12 03:06:38 -05:00
|
|
|
#include "machine.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void
|
2018-03-19 01:02:04 +01:00
|
|
|
machine_xt_compaq_init(const machine_t *model)
|
2017-11-12 03:06:38 -05:00
|
|
|
{
|
|
|
|
|
machine_common_init(model);
|
|
|
|
|
|
|
|
|
|
pit_set_out_func(&pit, 1, pit_refresh_timer_xt);
|
|
|
|
|
|
|
|
|
|
device_add(&keyboard_xt_device);
|
2018-01-17 18:43:36 +01:00
|
|
|
device_add(&fdc_xt_device);
|
2017-11-12 03:06:38 -05:00
|
|
|
nmi_init();
|
|
|
|
|
if (joystick_type != 7)
|
|
|
|
|
device_add(&gameport_device);
|
|
|
|
|
|
|
|
|
|
switch(model->id) {
|
|
|
|
|
case ROM_PORTABLE:
|
2018-02-24 16:25:57 +01:00
|
|
|
lpt1_remove();
|
|
|
|
|
lpt1_init(0x03bc);
|
2017-11-12 03:06:38 -05:00
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|