Xemu [doxygen]  hyppo 0a42be3a057156924bc1b626a687bd6e27349c45 @ Sat 19 Mar 02:15:11 CET 2022
vic3.h
Go to the documentation of this file.
1 /* Test-case for a simple, work-in-progress Commodore 65 emulator.
2  Part of the Xemu project, please visit: https://github.com/lgblgblgb/xemu
3  Copyright (C)2016-2020 LGB (Gábor Lénárt) <lgblgblgb@gmail.com>
4 
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version.
9 
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14 
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
18 
19 #ifndef XEMU_C65_VIC3_H_INCLUDED
20 #define XEMU_C65_VIC3_H_INCLUDED
21 
22 #define VIC_NEW_MODE 0x10
23 
24 #define LEFT_BORDER_SIZE 32
25 #define RIGHT_BORDER_SIZE 32
26 #define TOP_BORDER_SIZE 16
27 #define BOTTOM_BORDER_SIZE 16
28 
29 #define SCREEN_WIDTH (640 + LEFT_BORDER_SIZE + RIGHT_BORDER_SIZE)
30 #define SCREEN_HEIGHT (200 + TOP_BORDER_SIZE + BOTTOM_BORDER_SIZE)
31 
32 extern int vic_new_mode;
33 extern Uint8 vic3_registers[];
34 extern int cpu_cycles_per_scanline;
35 extern int frameskip;
36 extern char scanline_render_debug_info[320];
37 extern int show_drive_led;
38 
39 extern void vic3_init ( void );
40 extern void vic3_write_reg ( int addr, Uint8 data );
41 extern Uint8 vic3_read_reg ( int addr );
42 extern void vic3_write_palette_reg ( int num, Uint8 data );
43 extern void vic3_check_raster_interrupt ( void );
44 
45 extern void vic3_select_bank ( int bank );
46 extern void vic3_open_frame_access ( void );
47 extern int vic3_render_scanline ( void );
48 
49 #ifdef XEMU_SNAPSHOT_SUPPORT
50 #include "xemu/emutools_snapshot.h"
51 extern int vic3_snapshot_load_state ( const struct xemu_snapshot_definition_st *def , struct xemu_snapshot_block_st *block );
52 extern int vic3_snapshot_save_state ( const struct xemu_snapshot_definition_st *def );
53 #endif
54 
55 #endif
vic3_write_reg
void vic3_write_reg(int addr, Uint8 data)
Definition: vic3.c:745
frameskip
int frameskip
Definition: vic3.c:75
show_drive_led
int show_drive_led
Definition: vic3.c:60
addr
int addr
Definition: dma65.c:81
cpu_cycles_per_scanline
int cpu_cycles_per_scanline
Definition: vic3.c:64
m65-memcontent-generator.data
data
Definition: m65-memcontent-generator.py:119
Uint8
uint8_t Uint8
Definition: fat32.c:51
vic3_check_raster_interrupt
void vic3_check_raster_interrupt(void)
Definition: vic3.c:138
block
Uint32 block
Definition: fat32.c:156
vic3_select_bank
void vic3_select_bank(int bank)
Definition: vic3.c:720
vic3_registers
Uint8 vic3_registers[]
Definition: vic3.c:61
vic3_open_frame_access
void vic3_open_frame_access(void)
Definition: vic3.c:104
vic3_init
void vic3_init(void)
Definition: vic3.c:926
vic_new_mode
int vic_new_mode
Definition: vic3.c:62
scanline_render_debug_info
char scanline_render_debug_info[320]
Definition: vic3.c:99
vic3_write_palette_reg
void vic3_write_palette_reg(int num, Uint8 data)
Definition: vic3.c:906
vic3_render_scanline
int vic3_render_scanline(void)
Definition: vic3.c:571
emutools_snapshot.h
vic3_read_reg
Uint8 vic3_read_reg(int addr)
Definition: vic3.c:854