Xemu [doxygen]  hyppo 0a42be3a057156924bc1b626a687bd6e27349c45 @ Sat 19 Mar 02:15:11 CET 2022
hypervisor.h
Go to the documentation of this file.
1 /* A work-in-progess MEGA65 (Commodore 65 clone origins) emulator
2  Part of the Xemu project, please visit: https://github.com/lgblgblgb/xemu
3  Copyright (C)2016-2022 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_MEGA65_HYPERVISOR_H_INCLUDED
20 #define XEMU_MEGA65_HYPERVISOR_H_INCLUDED
21 
22 #define TRAP_DOS 0x00
23 #define TRAP_XEMU 0x04
24 #define TRAP_FREEZER_USER_CALL 0x3F
25 #define TRAP_RESET 0x40
26 #define TRAP_FREEZER_RESTORE_PRESS 0x42
27 #define TRAP_MATRIX 0x43
28 
29 extern int in_hypervisor;
30 extern int hickup_is_overriden;
31 extern int hypervisor_is_debugged;
32 extern char hyppo_version_string[64];
33 
34 extern int hypervisor_debug_init ( const char *fn, int hypervisor_debug, int use_hypervisor_serial_out_asciizer );
35 extern void hypervisor_debug ( void );
36 
37 extern void hypervisor_enter ( int trapno );
38 extern void hypervisor_enter_via_write_trap ( int trapno );
39 extern int hypervisor_queued_enter ( int trapno );
40 extern void hypervisor_start_machine ( void );
41 extern int hypervisor_level_reset ( void );
42 extern void hypervisor_leave ( void );
43 extern void hypervisor_serial_monitor_push_char ( Uint8 chr );
44 extern void hypervisor_debug_invalidate ( const char *reason );
45 extern void hypervisor_debug_late_enable ( void );
46 extern int hypervisor_hdos_virtualization_status ( const int set, const char **root_ptr ); // prototype is here, but it's implemented in hdos.c not in hypervisor.c
47 extern void hypervisor_hdos_close_descriptors ( void ); // prototype is here, but it's implemented in hdos.c not in hypervisor.c
48 
49 #endif
in_hypervisor
int in_hypervisor
Definition: hypervisor.c:40
hypervisor_debug_late_enable
void hypervisor_debug_late_enable(void)
Definition: hypervisor.c:588
hypervisor_level_reset
int hypervisor_level_reset(void)
Definition: hypervisor.c:300
hypervisor_queued_enter
int hypervisor_queued_enter(int trapno)
Definition: hypervisor.c:74
hypervisor_hdos_close_descriptors
void hypervisor_hdos_close_descriptors(void)
Definition: hdos.c:820
fn
const char * fn
Definition: roms.c:42
hypervisor_debug_init
int hypervisor_debug_init(const char *fn, int hypervisor_debug, int use_hypervisor_serial_out_asciizer)
Definition: hypervisor.c:421
hypervisor_leave
void hypervisor_leave(void)
Definition: hypervisor.c:313
Uint8
uint8_t Uint8
Definition: fat32.c:51
hickup_is_overriden
int hickup_is_overriden
Definition: hypervisor.c:42
hyppo_version_string
char hyppo_version_string[64]
Definition: hypervisor.c:41
hypervisor_hdos_virtualization_status
int hypervisor_hdos_virtualization_status(const int set, const char **root_ptr)
Definition: hdos.c:829
hypervisor_enter_via_write_trap
void hypervisor_enter_via_write_trap(int trapno)
Definition: hypervisor.c:95
hypervisor_start_machine
void hypervisor_start_machine(void)
Definition: hypervisor.c:248
hypervisor_debug
void hypervisor_debug(void)
Definition: hypervisor.c:598
hypervisor_serial_monitor_push_char
void hypervisor_serial_monitor_push_char(Uint8 chr)
Definition: hypervisor.c:381
hypervisor_enter
void hypervisor_enter(int trapno)
Definition: hypervisor.c:132
hypervisor_is_debugged
int hypervisor_is_debugged
Definition: hypervisor.c:43
hypervisor_debug_invalidate
void hypervisor_debug_invalidate(const char *reason)
Definition: hypervisor.c:411