Xemu [doxygen]  hyppo 0a42be3a057156924bc1b626a687bd6e27349c45 @ Sat 19 Mar 02:15:11 CET 2022
via65c22.h
Go to the documentation of this file.
1 /* Part of the Xemu project, please visit: https://github.com/lgblgblgb/xemu
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 __COMMON_XEMU_VIA65C22_H_INCLUDED
19 #define __COMMON_XEMU_VIA65C22_H_INCLUDED
20 
21 struct Via65c22 {
22  void (*outa)(Uint8 mask, Uint8 data);
23  void (*outb)(Uint8 mask, Uint8 data);
24  void (*outsr)(Uint8 data);
27  Uint8 (*insr)(void);
28  void (*setint)(int level);
29  const char *name;
31  int T1C, T2C;
33 };
34 
35 extern void via_init(
36  struct Via65c22 *via, const char *name,
37  void (*outa)(Uint8 mask, Uint8 data),
38  void (*outb)(Uint8 mask, Uint8 data),
39  void (*outsr)(Uint8 data),
40  Uint8 (*ina)(Uint8 mask),
41  Uint8 (*inb)(Uint8 mask),
42  Uint8 (*insr)(void),
43  void (*setint)(int level)
44 );
45 extern void via_reset(struct Via65c22 *via);
46 extern void via_write(struct Via65c22 *via, int addr, Uint8 data);
47 extern Uint8 via_read (struct Via65c22 *via, int addr);
48 extern void via_tick (struct Via65c22 *via, int ticks);
49 
50 #endif
Via65c22::DDRA
Uint8 DDRA
Definition: via65c22.h:30
Via65c22::ORB
Uint8 ORB
Definition: via65c22.h:30
Via65c22::T2C
int T2C
Definition: via65c22.h:31
via_tick
void via_tick(struct Via65c22 *via, int ticks)
Definition: via65c22.c:224
Via65c22::T1run
int T1run
Definition: via65c22.h:32
Via65c22::name
const char * name
Definition: via65c22.h:29
Via65c22::PCR
Uint8 PCR
Definition: via65c22.h:30
Via65c22::ina
Uint8(* ina)(Uint8 mask)
Definition: via65c22.h:25
Via65c22::ACR
Uint8 ACR
Definition: via65c22.h:30
Via65c22::T2LL
Uint8 T2LL
Definition: via65c22.h:30
Via65c22::T1LH
Uint8 T1LH
Definition: via65c22.h:30
addr
int addr
Definition: dma65.c:81
Via65c22::T1LL
Uint8 T1LL
Definition: via65c22.h:30
Via65c22::ORA
Uint8 ORA
Definition: via65c22.h:30
m65-memcontent-generator.data
data
Definition: m65-memcontent-generator.py:119
Via65c22
Definition: via65c22.h:21
Uint8
uint8_t Uint8
Definition: fat32.c:51
via_reset
void via_reset(struct Via65c22 *via)
Definition: via65c22.c:56
Via65c22::outa
void(* outa)(Uint8 mask, Uint8 data)
Definition: via65c22.h:22
Via65c22::IFR
Uint8 IFR
Definition: via65c22.h:30
Via65c22::irqLevel
int irqLevel
Definition: via65c22.h:32
Via65c22::IER
Uint8 IER
Definition: via65c22.h:30
Via65c22::DDRB
Uint8 DDRB
Definition: via65c22.h:30
via_read
Uint8 via_read(struct Via65c22 *via, int addr)
Definition: via65c22.c:177
Via65c22::outsr
void(* outsr)(Uint8 data)
Definition: via65c22.h:24
Via65c22::inb
Uint8(* inb)(Uint8 mask)
Definition: via65c22.h:26
Via65c22::setint
void(* setint)(int level)
Definition: via65c22.h:28
via_write
void via_write(struct Via65c22 *via, int addr, Uint8 data)
Definition: via65c22.c:99
Via65c22::SRmode
int SRmode
Definition: via65c22.h:32
Via65c22::outb
void(* outb)(Uint8 mask, Uint8 data)
Definition: via65c22.h:23
Via65c22::SR
Uint8 SR
Definition: via65c22.h:30
mask
int mask
Definition: dma65.c:83
name
const char * name
Definition: joystick.c:46
Via65c22::T1C
int T1C
Definition: via65c22.h:31
via_init
void via_init(struct Via65c22 *via, const char *name, void(*outa)(Uint8 mask, Uint8 data), void(*outb)(Uint8 mask, Uint8 data), void(*outsr)(Uint8 data), Uint8(*ina)(Uint8 mask), Uint8(*inb)(Uint8 mask), Uint8(*insr)(void), void(*setint)(int level))
Definition: via65c22.c:77
Via65c22::T2LH
Uint8 T2LH
Definition: via65c22.h:30
Via65c22::insr
Uint8(* insr)(void)
Definition: via65c22.h:27
Via65c22::SRcount
int SRcount
Definition: via65c22.h:32
Via65c22::T2run
int T2run
Definition: via65c22.h:32