#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "cpu.h"
#include "devices.h"
#include "machine.h"
#include "memory.h"
#include "misc.h"
#include "thirdparty/pxreg.h"
Go to the source code of this file.
Macros | |
#define | PX_XSIZE 1280 |
#define | PX_YSIZE 1024 |
Functions | |
DEVICE_TICK (px) | |
uint32_t | px_readword (struct cpu *cpu, unsigned char *dma_buf, int ofs) |
void | dev_px_dma (struct cpu *cpu, uint32_t sys_addr, struct px_data *d) |
DEVICE_ACCESS (px) | |
void | dev_px_init (struct machine *machine, struct memory *mem, uint64_t baseaddr, int px_type, const char *irq_path) |
#define PX_XSIZE 1280 |
Definition at line 93 of file dev_px.cc.
Referenced by dev_px_dma(), and dev_px_init().
#define PX_YSIZE 1024 |
Definition at line 94 of file dev_px.cc.
Referenced by dev_px_dma(), and dev_px_init().
Definition at line 138 of file dev_px.cc.
References px_data::bitdepth, cpu::byte_order, debug, DEV_PX_TYPE_PX, EMUL_LITTLE_ENDIAN, vfb_data::framebuffer, cpu::mem, MEM_READ, cpu::memory_rw, NO_EXCEPTIONS, PHYSICAL, px_readword(), PX_XSIZE, PX_YSIZE, px_data::sram, STAMP_AALINE, STAMP_CLIPRECT, STAMP_CMD_COPYSPANS, STAMP_CMD_LINES, STAMP_CMD_POINTS, STAMP_CMD_READSPANS, STAMP_CMD_TRIANGLES, STAMP_CMD_VIDEO, STAMP_CMD_WRITESPANS, STAMP_HS_EQUALS, STAMP_LW_NONE, STAMP_LW_PERPACKET, STAMP_LW_PERPRIMATIVE, STAMP_MESH, STAMP_RGB_CONST, STAMP_RGB_FLAT, STAMP_RGB_NONE, STAMP_RGB_SMOOTH, STAMP_XY_NONE, STAMP_XY_PERPACKET, STAMP_XY_PERPRIMATIVE, STAMP_Z_CONST, STAMP_Z_FLAT, STAMP_Z_NONE, STAMP_Z_SMOOTH, px_data::type, vfb_data::update_x1, vfb_data::update_x2, vfb_data::update_y1, vfb_data::update_y2, and px_data::vfb_data.
Referenced by DEVICE_ACCESS().
void dev_px_init | ( | struct machine * | machine, |
struct memory * | mem, | ||
uint64_t | baseaddr, | ||
int | px_type, | ||
const char * | irq_path | ||
) |
Definition at line 752 of file dev_px.cc.
References machine::arch, px_data::bitdepth, BT459_PX, CHECK_ALLOCATION, dev_bt459_init(), dev_fb_init(), dev_px_access(), DEV_PX_LENGTH, DEV_PX_TYPE_PX, DEV_PX_TYPE_PXG, DEV_PX_TYPE_PXGPLUS, DEV_PX_TYPE_PXGPLUSTURBO, DM_DEFAULT, fatal(), px_data::fb_mem, INTERRUPT_CONNECT, px_data::irq, machine_add_tickfunction(), memory_device_register(), memory_new(), px_data::px_name, PX_XSIZE, PX_YSIZE, px_data::type, px_data::vfb_data, VFB_GENERIC, px_data::xconfig, and px_data::yconfig.
Referenced by dev_turbochannel_init().
DEVICE_ACCESS | ( | px | ) |
Definition at line 556 of file dev_px.cc.
References data, debug, dev_px_dma(), DEV_PX_TYPE_PX, fatal(), px_data::intr, MEM_READ, MEM_WRITE, memory_readmax64(), memory_writemax64(), px_data::sram, STAMP_OK, STIC_INT_E, STIC_INT_E_WE, STIC_INT_P, STIC_INT_P_WE, STIC_INT_V, STIC_INT_V_WE, px_data::type, px_data::xconfig, and px_data::yconfig.
DEVICE_TICK | ( | px | ) |
Definition at line 99 of file dev_px.cc.
References INTERRUPT_ASSERT, px_data::intr, px_data::irq, and STIC_INT_P_EN.
uint32_t px_readword | ( | struct cpu * | cpu, |
unsigned char * | dma_buf, | ||
int | ofs | ||
) |
Definition at line 118 of file dev_px.cc.
References cpu::byte_order, and EMUL_LITTLE_ENDIAN.
Referenced by dev_px_dma().