Xemu [doxygen]  hyppo 0a42be3a057156924bc1b626a687bd6e27349c45 @ Sat 19 Mar 02:15:11 CET 2022
cpu.h
Go to the documentation of this file.
1 /* Minimalistic Enterprise-128 emulator with focus on "exotic" hardware
2  Part of the Xemu project, please visit: https://github.com/lgblgblgb/xemu
3  Copyright (C)2015-2016,2020-2021 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_EP128_CPU_H_INCLUDED
20 #define XEMU_EP128_CPU_H_INCLUDED
21 
22 #include "xemu/z80.h"
23 
24 #define CPU_Z80 0
25 #define CPU_Z80C 1
26 #define CPU_Z180 2
27 
28 #define PORT_B6_READ_OTHERS 0xC0
29 
30 extern void xep_rom_write_support ( int towrite );
31 extern void set_ep_cpu ( int type );
32 extern int ep_set_ram_config ( const char *spec );
33 extern int ep_init_ram ( void );
34 extern void ep_clear_ram ( void );
35 extern Uint8 read_cpu_byte ( Uint16 addr );
36 extern Uint8 read_cpu_byte_by_segmap ( Uint16 addr, Uint8 *segmap );
37 extern void write_cpu_byte_by_segmap ( Uint16 addr, Uint8 *segmap, Uint8 data );
38 extern void z80_reset ( void );
39 extern void ep_reset ( void );
40 
41 
42 extern int CPU_CLOCK;
43 extern Z80EX_CONTEXT z80ex;
44 extern Uint8 memory[0x400000];
45 extern Uint8 ports[0x100] VARALIGN;
46 extern const char *memory_segment_map[0x100];
47 extern int nmi_pending;
48 extern char *mem_desc;
49 
50 extern const char *memory_segment_map[0x100];
51 extern const char ROM_SEGMENT[];
52 extern const char XEPROM_SEGMENT[];
53 extern const char RAM_SEGMENT[];
54 extern const char VRAM_SEGMENT[];
55 extern const char SRAM_SEGMENT[];
56 extern const char UNUSED_SEGMENT[];
57 
58 #endif
ep_init_ram
int ep_init_ram(void)
Definition: cpu.c:194
XEPROM_SEGMENT
const char XEPROM_SEGMENT[]
Definition: cpu.c:52
ep_reset
void ep_reset(void)
Definition: cpu.c:621
nmi_pending
int nmi_pending
Definition: cpu.c:47
ep_clear_ram
void ep_clear_ram(void)
Definition: cpu.c:186
SRAM_SEGMENT
const char SRAM_SEGMENT[]
Definition: cpu.c:55
addr
int addr
Definition: dma65.c:81
xep_rom_write_support
void xep_rom_write_support(int towrite)
Definition: cpu.c:66
mem_desc
char * mem_desc
Definition: cpu.c:58
m65-memcontent-generator.data
data
Definition: m65-memcontent-generator.py:119
UNUSED_SEGMENT
const char UNUSED_SEGMENT[]
Definition: cpu.c:56
write_cpu_byte_by_segmap
void write_cpu_byte_by_segmap(Uint16 addr, Uint8 *segmap, Uint8 data)
Definition: cpu.c:270
Uint8
uint8_t Uint8
Definition: fat32.c:51
VARALIGN
Uint8 ports[0x100] VARALIGN
Definition: cpu.c:40
_z80_cpu_context
Definition: z80ex.h:143
z80.h
RAM_SEGMENT
const char RAM_SEGMENT[]
Definition: cpu.c:53
set_ep_cpu
void set_ep_cpu(int type)
Definition: cpu.c:74
z80_reset
void z80_reset(void)
Definition: cpu.c:597
CPU_CLOCK
int CPU_CLOCK
Definition: cpu.c:48
read_cpu_byte
Uint8 read_cpu_byte(Uint16 addr)
Definition: cpu.c:258
ROM_SEGMENT
const char ROM_SEGMENT[]
Definition: cpu.c:51
VRAM_SEGMENT
const char VRAM_SEGMENT[]
Definition: cpu.c:54
Uint16
uint16_t Uint16
Definition: fat32.c:50
memory_segment_map
const char * memory_segment_map[0x100]
Definition: cpu.h:50
read_cpu_byte_by_segmap
Uint8 read_cpu_byte_by_segmap(Uint16 addr, Uint8 *segmap)
Definition: cpu.c:264
z80ex
Z80EX_CONTEXT z80ex
Definition: primo.c:37
memory
Uint8 memory[0x400000]
Definition: commodore_65.c:43
ep_set_ram_config
int ep_set_ram_config(const char *spec)
Definition: cpu.c:131