This commit is contained in:
RichardG867
2020-12-07 22:16:11 -03:00
33 changed files with 2311 additions and 1478 deletions

View File

@@ -48,7 +48,6 @@
#define SLIDER 0x20000000
#define AXIS_NOT_PRESENT -99999
#define JOYSTICK_TYPE_NONE 8
#define JOYSTICK_PRESENT(n) (joystick_state[n].plat_joystick_nr != 0)
@@ -140,6 +139,8 @@ extern void joystick_close(void);
extern void joystick_process(void);
extern char *joystick_get_name(int js);
extern char *joystick_get_internal_name(int js);
extern int joystick_get_from_internal_name(char *s);
extern int joystick_get_max_joysticks(int js);
extern int joystick_get_axis_count(int js);
extern int joystick_get_button_count(int js);

View File

@@ -68,9 +68,11 @@ extern const device_t keyboard_tandy_device;
#if defined(DEV_BRANCH) && defined(USE_LASERXT)
extern const device_t keyboard_xt_lxt3_device;
#endif
extern const device_t keyboard_xt_olivetti_device;
extern const device_t keyboard_at_device;
extern const device_t keyboard_at_ami_device;
extern const device_t keyboard_at_toshiba_device;
extern const device_t keyboard_at_olivetti_device;
extern const device_t keyboard_ps2_device;
extern const device_t keyboard_ps2_ps1_device;
extern const device_t keyboard_ps2_ps1_pci_device;

View File

@@ -509,8 +509,10 @@ extern int machine_europc_init(const machine_t *);
extern const device_t europc_device;
#endif
/* m_oivetti_m24.c */
extern int machine_olim24_init(const machine_t *);
/* m_xt_olivetti.c */
extern int machine_xt_olim24_init(const machine_t *);
extern int machine_xt_olim240_init(const machine_t *);
extern int machine_xt_olim19_init(const machine_t *);
#ifdef EMU_DEVICE_H
extern const device_t *m24_get_device(void);
#endif

View File

@@ -0,0 +1,48 @@
/*
* 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 the Olivetti OGC 8-bit ISA (GO708) and
* M21/M24/M28 16-bit bus (GO317/318/380/709) video cards.
*
*
*
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
* Miran Grca, <mgrca8@gmail.com>
* Fred N. van Kempen, <decwiz@yahoo.com>
* EngiNerd, <webmaster.crrc@yahoo.it>
*
* Copyright 2008-2019 Sarah Walker.
* Copyright 2016-2019 Miran Grca.
* Copyright 2017-2019 Fred N. van Kempen.
* Copyright 2020 EngiNerd.
*/
typedef struct ogc_t {
cga_t cga;
/* unused in OGC, required for M19 video card structure idiom */
uint8_t ctrl_3dd;
uint8_t ctrl_3de;
uint32_t base;
int lineff;
int mono_display;
} ogc_t;
void ogc_recalctimings(ogc_t *ogc);
void ogc_out(uint16_t addr, uint8_t val, void *priv);
uint8_t ogc_in(uint16_t addr, void *priv);
void ogc_write(uint32_t addr, uint8_t val, void *priv);
uint8_t ogc_read(uint32_t addr, void *priv);
void ogc_poll(void *priv);
void ogc_close(void *priv);
void ogc_mdaattr_rebuild();
#ifdef EMU_DEVICE_H
extern const device_config_t ogc_config[];
extern const device_t ogc_device;
#endif

View File

@@ -241,6 +241,10 @@ extern const device_t gd5480_pci_device;
extern const device_t compaq_cga_device;
extern const device_t compaq_cga_2_device;
/* Olivetti OGC */
extern const device_t ogc_device;
extern const device_t ogc_m24_device;
/* Tseng ET4000AX */
extern const device_t et4000_isa_device;
extern const device_t et4000k_isa_device;