#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "console.h"
#include "cpu.h"
#include "devices.h"
#include "machine.h"
#include "memory.h"
#include "misc.h"
#include "../include/vga.h"
#include "fonts/font8x8.cc"
#include "fonts/font8x10.cc"
#include "fonts/font8x16.cc"
Go to the source code of this file.
Classes | |
struct | vga_data |
Macros | |
#define | VGA_TICK_SHIFT 18 |
#define | MAX_RETRACE_SCANLINES 420 |
#define | N_IS1_READ_THRESHOLD 50 |
#define | GFX_ADDR_WINDOW 0x18000 |
#define | VGA_FB_ADDR 0x1c00000000ULL |
#define | MODE_CHARCELL 1 |
#define | MODE_GRAPHICS 2 |
#define | GRAPHICS_MODE_8BIT 1 |
#define | GRAPHICS_MODE_4BIT 2 |
Functions | |
DEVICE_TICK (vga) | |
DEVICE_ACCESS (vga_graphics) | |
DEVICE_ACCESS (vga) | |
DEVICE_ACCESS (vga_ctrl) | |
void | dev_vga_init (struct machine *machine, struct memory *mem, uint64_t videomem_base, uint64_t control_base, const char *name) |
#define GFX_ADDR_WINDOW 0x18000 |
Definition at line 60 of file dev_vga.cc.
#define GRAPHICS_MODE_4BIT 2 |
Definition at line 68 of file dev_vga.cc.
#define GRAPHICS_MODE_8BIT 1 |
Definition at line 67 of file dev_vga.cc.
#define MAX_RETRACE_SCANLINES 420 |
Definition at line 57 of file dev_vga.cc.
#define MODE_CHARCELL 1 |
Definition at line 64 of file dev_vga.cc.
#define MODE_GRAPHICS 2 |
Definition at line 65 of file dev_vga.cc.
#define N_IS1_READ_THRESHOLD 50 |
Definition at line 58 of file dev_vga.cc.
#define VGA_FB_ADDR 0x1c00000000ULL |
Definition at line 62 of file dev_vga.cc.
#define VGA_TICK_SHIFT 18 |
Definition at line 55 of file dev_vga.cc.
void dev_vga_init | ( | struct machine * | machine, |
struct memory * | mem, | ||
uint64_t | videomem_base, | ||
uint64_t | control_base, | ||
const char * | name | ||
) |
Definition at line 1187 of file dev_vga.cc.
References machine::arch_pagesize, vga_data::charcells, vga_data::charcells_drawn, vga_data::charcells_outputed, vga_data::charcells_size, CHECK_ALLOCATION, vga_data::console_handle, CONSOLE_OUTPUT_ONLY, console_start_slave(), vga_data::control_base, vga_data::crtc_reg, vga_data::cur_mode, dev_fb_init(), dev_vga_access(), DM_DEFAULT, DM_DYNTRANS_OK, DM_DYNTRANS_WRITE_OK, DM_READS_HAVE_NO_SIDE_EFFECTS, vga_data::fb, vga_data::fb_max_x, vga_data::fb_max_y, vga_data::fb_size, vga_data::font, font8x16, vga_data::font_height, vga_data::font_width, GFX_ADDR_WINDOW, vga_data::gfx_mem, vga_data::gfx_mem_size, vga_data::max_x, vga_data::max_y, memory_device_register(), MODE_CHARCELL, vga_data::pixel_repx, vga_data::pixel_repy, x11_md::scaleup, VFB_GENERIC, VGA_FB_ADDR, vga_data::videomem_base, and machine::x11_md.
Referenced by bus_isa_init(), MACHINE_SETUP(), and PCIINIT().
DEVICE_ACCESS | ( | vga | ) |
Definition at line 682 of file dev_vga.cc.
References vga_data::charcells, vga_data::charcells_size, vga_data::crtc_reg, data, debug, vga_data::max_x, MEM_READ, MEM_WRITE, memory_readmax64(), memory_writemax64(), vga_data::modified, vga_data::update_x1, vga_data::update_x2, vga_data::update_y1, vga_data::update_y2, VGA_CRTC_START_ADDR_HIGH, and VGA_CRTC_START_ADDR_LOW.
DEVICE_ACCESS | ( | vga_ctrl | ) |
Definition at line 962 of file dev_vga.cc.
References vga_data::attribute_reg, vga_data::attribute_reg_select, vga_data::attribute_state, data, MEM_READ, and VGA_ATTRIBUTE_ADDR.
DEVICE_ACCESS | ( | vga_graphics | ) |
Definition at line 587 of file dev_vga.cc.
References addr, vga_data::bits_per_pixel, vga_data::cur_mode, data, fatal(), GFX_ADDR_WINDOW, vga_data::gfx_mem, vga_data::gfx_mem_size, vga_data::graphcontr_reg, vga_data::graphics_mode, GRAPHICS_MODE_4BIT, GRAPHICS_MODE_8BIT, if(), vga_data::max_x, MEM_WRITE, MODE_GRAPHICS, vga_data::modified, cpu::running, vga_data::sequencer_reg, vga_data::update_x1, vga_data::update_x2, vga_data::update_y1, vga_data::update_y2, VGA_GRAPHCONTR_MASK, and VGA_SEQ_MAP_MASK.
DEVICE_TICK | ( | vga | ) |
Definition at line 504 of file dev_vga.cc.