Xemu [doxygen]  hyppo 0a42be3a057156924bc1b626a687bd6e27349c45 @ Sat 19 Mar 02:15:11 CET 2022
vic6561.h
Go to the documentation of this file.
1 /* Test-case for a very simple and inaccurate Commodore VIC-20 emulator using SDL2 library.
2  Copyright (C)2016 LGB (Gábor Lénárt) <lgblgblgb@gmail.com>
3 
4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation; either version 2 of the License, or
7 (at your option) any later version.
8 
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
13 
14 You should have received a copy of the GNU General Public License
15 along with this program; if not, write to the Free Software
16 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
17 
18 #ifndef __LGB_VIC6561_H_INCLUDED
19 #define __LGB_VIC6561_H_INCLUDED
20 
21 /* Defines the X ("dotpos") and Y ("scanline") parameters of the visible (emulated) screen area */
22 #define SCREEN_FIRST_VISIBLE_SCANLINE 28
23 #define SCREEN_LAST_VISIBLE_SCANLINE 311
24 #define SCREEN_FIRST_VISIBLE_DOTPOS 38
25 #define SCREEN_LAST_VISIBLE_DOTPOS 261
26 
27 /* Usual (X/Y) origin of the screen (left bottom corner) if VIC-I X/Y origin registers are zero */
28 // maybe SCANLINE ORIGIN is 38 ... I guess :)
29 //#define SCREEN_ORIGIN_SCANLINE 38
30 //#define SCREEN_ORIGIN_DOTPOS 12
31 #define SCREEN_ORIGIN_SCANLINE 0
32 #define SCREEN_ORIGIN_DOTPOS 12
33 
34 #define LAST_SCANLINE 311
35 #define CYCLES_PER_SCANLINE 71
36 
37 extern Uint32 vic_palette[16]; // VIC palette with native SCREEN_FORMAT aware way. Must be initialized by the emulator
38 extern int scanline; // scanline counter, must be maintained by the emulator, as increment, checking for all scanlines done, etc
39 
40 extern Uint8 cpu_vic_reg_read ( int addr );
41 extern void cpu_vic_reg_write ( int addr, Uint8 data );
42 extern void vic_init ( Uint8 **lo8_pointers, Uint8 **hi4_pointers );
43 extern void vic_render_line ( void );
44 extern void vic_vsync ( int relock_texture );
45 
46 
47 #endif
cpu_vic_reg_read
Uint8 cpu_vic_reg_read(int addr)
Definition: vic6561.c:94
vic_vsync
void vic_vsync(int relock_texture)
Definition: vic6561.c:155
cpu_vic_reg_write
void cpu_vic_reg_write(int addr, Uint8 data)
Definition: vic6561.c:107
addr
int addr
Definition: dma65.c:81
vic_init
void vic_init(Uint8 **lo8_pointers, Uint8 **hi4_pointers)
Definition: vic6561.c:168
m65-memcontent-generator.data
data
Definition: m65-memcontent-generator.py:119
Uint32
uint32_t Uint32
Definition: fat32.c:49
Uint8
uint8_t Uint8
Definition: fat32.c:51
vic_render_line
void vic_render_line(void)
Definition: vic6561.c:200
vic_palette
Uint32 vic_palette[16]
Definition: vic6561.c:51
scanline
int scanline
Definition: vic6561.c:52