Xemu [doxygen]
hyppo 0a42be3a057156924bc1b626a687bd6e27349c45 @ Sat 19 Mar 02:15:11 CET 2022
targets
cvic20
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
Generated by
1.8.17