vemulator-libretro/video.h
2018-02-14 18:19:48 +00:00

178 lines
5.0 KiB
C++

/*
VeMUlator - A Dreamcast Visual Memory Unit emulator for libretro
Copyright (C) 2018 Mahmoud Jaoune
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
#ifndef _VIDEO_H_
#define _VIDEO_H_
#include "ram.h"
///This keeps track of XRAM and draws on the canvas when refresh rate occurs.
class VE_VMS_VIDEO
{
public:
VE_VMS_VIDEO(VE_VMS_RAM *_ram);
~VE_VMS_VIDEO();
void drawFrame(uint16_t *buffer);
private:
VE_VMS_RAM *ram;
//BIOS icons
/*static int FILE_ICON[] = {
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x01, 0xFF, 0xFC,
0x02, 0x00, 0x0C,
0x04, 0x00, 0x14,
0x08, 0x00, 0x24,
0x10, 0x00, 0x44,
0x20, 0x00, 0x84,
0x40, 0x01, 0x04,
0xFF, 0xFE, 0xF4,
0x01, 0x00, 0x04,
0x01, 0x00, 0x04,
0x01, 0x00, 0x04,
0x01, 0x7F, 0xF4,
0x01, 0x00, 0x04,
0x01, 0x00, 0x04,
0x01, 0x00, 0x04,
0x01, 0x7F, 0xF4,
0x01, 0x00, 0x04,
0x01, 0x00, 0x04,
0x01, 0x00, 0x04,
0x01, 0x7F, 0xF4,
0x01, 0x00, 0x04,
0x01, 0x00, 0x04,
0x01, 0x00, 0x04,
0x01, 0xFF, 0xFC,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00};
static int GAME_ICON[] = {
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x01, 0xFF, 0xFC,
0x01, 0x00, 0x04,
0x01, 0x00, 0x04,
0x01, 0x00, 0x04,
0x01, 0x00, 0x04,
0x01, 0x00, 0x04,
0x01, 0x02, 0x04,
0x01, 0x07, 0x04,
0x01, 0x0F, 0x84,
0x01, 0x1F, 0xC4,
0x01, 0x3F, 0xE4,
0x01, 0x7F, 0xF4,
0x01, 0x7F, 0xF4,
0x01, 0x7F, 0xF4,
0x01, 0x1A, 0xC4,
0x01, 0x02, 0x04,
0x01, 0x07, 0x04,
0x01, 0x0F, 0x84,
0x01, 0x1F, 0xC4,
0x01, 0x00, 0x04,
0x01, 0x00, 0x04,
0x01, 0x00, 0x04,
0x01, 0x00, 0x04,
0x01, 0xFF, 0xFC,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00};
static int CLOCK_ICON[] = {
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x03, 0x80,
0x00, 0x0C, 0x60,
0x00, 0x11, 0x10,
0x00, 0x21, 0x08,
0x00, 0x41, 0x04,
0x00, 0x41, 0x04,
0x00, 0x41, 0x04,
0x00, 0x40, 0xF4,
0x00, 0x40, 0x04,
0x00, 0x40, 0x04,
0x00, 0x40, 0x04,
0x00, 0x20, 0x08,
0x00, 0x10, 0x10,
0x00, 0x0C, 0x60,
0x00, 0x03, 0x80,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00};
static int WRITE_ICON[] = {
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x7F, 0xFC,
0x00, 0x7F, 0xFC,
0x00, 0x7E, 0xFC,
0x00, 0x7E, 0xFC,
0x00, 0x7E, 0xFC,
0x00, 0x7E, 0xFC,
0x00, 0x7E, 0xFC,
0x00, 0x7F, 0xFC,
0x00, 0x7E, 0xFC,
0x00, 0x7F, 0xFC,
0x00, 0x7F, 0xFC,
0x00, 0x7F, 0xFC,
0x00, 0x7F, 0xFC,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00};
static int ICONS[1][4] = {FILE_ICON, GAME_ICON, CLOCK_ICON, WRITE_ICON};*/
};
#endif // _VIDEO_H_