Some video related cleanups
This commit is contained in:
@@ -15,6 +15,8 @@
|
|||||||
* Copyright 2008-2018 Sarah Walker.
|
* Copyright 2008-2018 Sarah Walker.
|
||||||
* Copyright 2016-2018 Miran Grca.
|
* Copyright 2016-2018 Miran Grca.
|
||||||
*/
|
*/
|
||||||
|
#ifndef VIDEO_CGA_H
|
||||||
|
# define VIDEO_CGA_H
|
||||||
|
|
||||||
typedef struct cga_t
|
typedef struct cga_t
|
||||||
{
|
{
|
||||||
@@ -65,3 +67,5 @@ void cga_poll(void *p);
|
|||||||
extern const device_config_t cga_config[];
|
extern const device_config_t cga_config[];
|
||||||
extern const device_t cga_device;
|
extern const device_t cga_device;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#endif /*VIDEO_CGA_H*/
|
||||||
|
@@ -16,6 +16,8 @@
|
|||||||
* Copyright 2015-2018 reenigne.
|
* Copyright 2015-2018 reenigne.
|
||||||
* Copyright 2015-2018 Miran Grca.
|
* Copyright 2015-2018 Miran Grca.
|
||||||
*/
|
*/
|
||||||
|
#ifndef VIDEO_CGA_COMP_H
|
||||||
|
# define VIDEO_CGA_COMP_H
|
||||||
|
|
||||||
#define Bit8u uint8_t
|
#define Bit8u uint8_t
|
||||||
#define Bit32u uint32_t
|
#define Bit32u uint32_t
|
||||||
@@ -25,3 +27,5 @@
|
|||||||
void update_cga16_color(uint8_t cgamode);
|
void update_cga16_color(uint8_t cgamode);
|
||||||
void cga_comp_init(int revision);
|
void cga_comp_init(int revision);
|
||||||
Bit32u * Composite_Process(uint8_t cgamode, Bit8u border, Bit32u blocks/*, bool doublewidth*/, Bit32u *TempLine);
|
Bit32u * Composite_Process(uint8_t cgamode, Bit8u border, Bit32u blocks/*, bool doublewidth*/, Bit32u *TempLine);
|
||||||
|
|
||||||
|
#endif /*VIDEO_CGA_COMP_H*/
|
||||||
|
61
src/include/86box/vid_hercules.h
Normal file
61
src/include/86box/vid_hercules.h
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
/*
|
||||||
|
* 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 Hercules graphics cards.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* Author: Sarah Walker, <http://pcem-emulator.co.uk/>
|
||||||
|
* Miran Grca, <mgrca8@gmail.com>
|
||||||
|
* Copyright 2008-2019 Sarah Walker.
|
||||||
|
* Copyright 2016-2019 Miran Grca.
|
||||||
|
* Copyright 2021 Jasmine Iwanek.
|
||||||
|
*/
|
||||||
|
#ifndef VIDEO_HERCULES_H
|
||||||
|
# define VIDEO_HERCULES_H
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
mem_mapping_t mapping;
|
||||||
|
|
||||||
|
uint8_t crtc[32], charbuffer[4096];
|
||||||
|
int crtcreg;
|
||||||
|
|
||||||
|
uint8_t ctrl,
|
||||||
|
ctrl2,
|
||||||
|
stat;
|
||||||
|
|
||||||
|
uint64_t dispontime,
|
||||||
|
dispofftime;
|
||||||
|
pc_timer_t timer;
|
||||||
|
|
||||||
|
int firstline,
|
||||||
|
lastline;
|
||||||
|
|
||||||
|
int linepos,
|
||||||
|
displine;
|
||||||
|
int vc,
|
||||||
|
sc;
|
||||||
|
uint16_t ma,
|
||||||
|
maback;
|
||||||
|
int con, coff,
|
||||||
|
cursoron;
|
||||||
|
int dispon,
|
||||||
|
blink;
|
||||||
|
int vsynctime;
|
||||||
|
int vadj;
|
||||||
|
|
||||||
|
int lp_ff;
|
||||||
|
|
||||||
|
int cols[256][2][2];
|
||||||
|
|
||||||
|
uint8_t *vram;
|
||||||
|
} hercules_t;
|
||||||
|
|
||||||
|
static void *hercules_init(const device_t *info);
|
||||||
|
|
||||||
|
#endif /*VIDEO_HERCULES_H*/
|
@@ -16,6 +16,8 @@
|
|||||||
* Copyright 2008-2020 Sarah Walker.
|
* Copyright 2008-2020 Sarah Walker.
|
||||||
* Copyright 2016-2020 Miran Grca.
|
* Copyright 2016-2020 Miran Grca.
|
||||||
*/
|
*/
|
||||||
|
#ifndef VIDEO_SVGA_H
|
||||||
|
# define VIDEO_SVGA_H
|
||||||
|
|
||||||
|
|
||||||
#define FLAG_EXTRA_BANKS 1
|
#define FLAG_EXTRA_BANKS 1
|
||||||
@@ -306,3 +308,5 @@ extern const device_t tseng_ics5301_ramdac_device;
|
|||||||
extern const device_t tseng_ics5341_ramdac_device;
|
extern const device_t tseng_ics5341_ramdac_device;
|
||||||
extern const device_t tvp3026_ramdac_device;
|
extern const device_t tvp3026_ramdac_device;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#endif /*VIDEO_SVGA_H*/
|
||||||
|
34
src/include/86box/vid_vga.h
Normal file
34
src/include/86box/vid_vga.h
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
/*
|
||||||
|
* 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 IBM MDA + VGA graphics cards.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* Author: Sarah Walker, <http://pcem-emulator.co.uk/>
|
||||||
|
* Miran Grca, <mgrca8@gmail.com>
|
||||||
|
* Copyright 2008-2018 Sarah Walker.
|
||||||
|
* Copyright 2016-2018 Miran Grca.
|
||||||
|
* Copyright 2021 Jasmine Iwanek.
|
||||||
|
*/
|
||||||
|
#ifndef VIDEO_VGA_H
|
||||||
|
# define VIDEO_VGA_H
|
||||||
|
|
||||||
|
typedef struct vga_t
|
||||||
|
{
|
||||||
|
svga_t svga;
|
||||||
|
|
||||||
|
rom_t bios_rom;
|
||||||
|
} vga_t;
|
||||||
|
|
||||||
|
static video_timings_t timing_vga = {VIDEO_ISA, 8, 16, 32, 8, 16, 32};
|
||||||
|
|
||||||
|
void vga_out(uint16_t addr, uint8_t val, void *p);
|
||||||
|
uint8_t vga_in(uint16_t addr, void *p);
|
||||||
|
|
||||||
|
#endif /*VIDEO_VGA_H*/
|
@@ -31,45 +31,9 @@
|
|||||||
#include <86box/pit.h>
|
#include <86box/pit.h>
|
||||||
#include <86box/device.h>
|
#include <86box/device.h>
|
||||||
#include <86box/video.h>
|
#include <86box/video.h>
|
||||||
|
#include <86box/vid_hercules.h>
|
||||||
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
mem_mapping_t mapping;
|
|
||||||
|
|
||||||
uint8_t crtc[32], charbuffer[4096];
|
|
||||||
int crtcreg;
|
|
||||||
|
|
||||||
uint8_t ctrl,
|
|
||||||
ctrl2,
|
|
||||||
stat;
|
|
||||||
|
|
||||||
uint64_t dispontime,
|
|
||||||
dispofftime;
|
|
||||||
pc_timer_t timer;
|
|
||||||
|
|
||||||
int firstline,
|
|
||||||
lastline;
|
|
||||||
|
|
||||||
int linepos,
|
|
||||||
displine;
|
|
||||||
int vc,
|
|
||||||
sc;
|
|
||||||
uint16_t ma,
|
|
||||||
maback;
|
|
||||||
int con, coff,
|
|
||||||
cursoron;
|
|
||||||
int dispon,
|
|
||||||
blink;
|
|
||||||
int vsynctime;
|
|
||||||
int vadj;
|
|
||||||
|
|
||||||
int lp_ff;
|
|
||||||
|
|
||||||
int cols[256][2][2];
|
|
||||||
|
|
||||||
uint8_t *vram;
|
|
||||||
} hercules_t;
|
|
||||||
|
|
||||||
static video_timings_t timing_hercules = {VIDEO_ISA, 8, 16, 32, 8, 16, 32};
|
static video_timings_t timing_hercules = {VIDEO_ISA, 8, 16, 32, 8, 16, 32};
|
||||||
|
|
||||||
|
|
||||||
|
@@ -29,16 +29,9 @@
|
|||||||
#include <86box/timer.h>
|
#include <86box/timer.h>
|
||||||
#include <86box/video.h>
|
#include <86box/video.h>
|
||||||
#include <86box/vid_svga.h>
|
#include <86box/vid_svga.h>
|
||||||
|
#include <86box/vid_vga.h>
|
||||||
|
|
||||||
|
|
||||||
typedef struct vga_t
|
|
||||||
{
|
|
||||||
svga_t svga;
|
|
||||||
|
|
||||||
rom_t bios_rom;
|
|
||||||
} vga_t;
|
|
||||||
|
|
||||||
static video_timings_t timing_vga = {VIDEO_ISA, 8, 16, 32, 8, 16, 32};
|
|
||||||
static video_timings_t timing_ps1_svga_isa = {VIDEO_ISA, 6, 8, 16, 6, 8, 16};
|
static video_timings_t timing_ps1_svga_isa = {VIDEO_ISA, 6, 8, 16, 6, 8, 16};
|
||||||
static video_timings_t timing_ps1_svga_mca = {VIDEO_MCA, 6, 8, 16, 6, 8, 16};
|
static video_timings_t timing_ps1_svga_mca = {VIDEO_MCA, 6, 8, 16, 6, 8, 16};
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user