/* * This file is part of x48, an emulator of the HP-48sx Calculator. * Copyright (C) 1994 Eddie C. Dost (ecd@dressler.de) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ /* $Log: hp48_emu.h,v $ * Revision 1.10 1995/01/11 18:20:01 ecd * major update to support HP48 G/GX * * Revision 1.9 1994/11/28 02:19:22 ecd * removed progname declaration * * Revision 1.9 1994/11/28 02:19:22 ecd * removed progname declaration * * Revision 1.8 1994/11/04 03:44:47 ecd * wrxl * * Revision 1.7 1994/11/02 14:51:27 ecd * minor changes * * Revision 1.6 1994/10/05 08:33:22 ecd * deleted do_interupt definition * * Revision 1.5 1994/10/01 10:12:24 ecd * deleted get_start and get_end functions * * Revision 1.4 1994/09/30 12:32:49 ecd * changed display* routines * * Revision 1.3 1994/09/13 16:58:42 ecd * changed to plain X11 * * Revision 1.2 1994/08/31 18:25:23 ecd * some cleanup * * Revision 1.1 1994/08/26 11:09:18 ecd * Initial revision * * * * $Id: hp48_emu.h,v 1.10 1995/01/11 18:20:01 ecd Exp ecd $ */ #ifndef _HP48_EMU_H #define _HP48_EMU_H 1 #include "global.h" #include "x48.h" #include "hp48.h" extern Display *dpy; extern Window dispW; extern GC gc; extern void push_return_addr __ProtoType__((long addr)); extern long pop_return_addr __ProtoType__((void)); extern void init_annunc __ProtoType__((void)); extern void init_saturn __ProtoType__((void)); extern void check_timer __ProtoType__((void)); extern void register_to_status __ProtoType__((unsigned char *r)); extern void status_to_register __ProtoType__((unsigned char *r)); extern void swap_register_status __ProtoType__((unsigned char *r)); extern void clear_status __ProtoType__((void)); extern long read_nibbles __ProtoType__((long addr, int len)); extern void write_nibbles __ProtoType__((long addr, long val, int len)); extern void dev_memory_init __ProtoType__((void)); extern void set_program_stat __ProtoType__((int n)); extern void clear_program_stat __ProtoType__((int n)); extern int get_program_stat __ProtoType__((int n)); extern void set_hardware_stat __ProtoType__((int op)); extern void clear_hardware_stat __ProtoType__((int op)); extern int is_zero_hardware_stat __ProtoType__((int op)); extern void set_register_bit __ProtoType__((unsigned char *reg, int n)); extern void clear_register_bit __ProtoType__((unsigned char *reg, int n)); extern int get_register_bit __ProtoType__((unsigned char *reg, int n)); extern void set_register_nibble __ProtoType__((unsigned char *reg, int n, unsigned char val)); extern unsigned char get_register_nibble __ProtoType__((unsigned char *reg, int n)); extern void register_to_address __ProtoType__((unsigned char *reg, word_20 *dat, int s)); extern void address_to_register __ProtoType__((word_20 dat, unsigned char *reg, int s)); extern void add_address __ProtoType__((word_20 *dat, int add)); extern char * make_hexstr __ProtoType__((long addr, int n)); extern void load_constant __ProtoType__((unsigned char *reg, int n, long addr)); extern void load_address __ProtoType__((unsigned char *reg, long addr, int n)); extern void store __ProtoType__((word_20 dat, unsigned char *reg, int code)); extern void store_n __ProtoType__((word_20 dat, unsigned char *reg, int n)); extern void recall __ProtoType__((unsigned char *reg, word_20 dat, int code)); extern void recall_n __ProtoType__((unsigned char *reg, word_20 dat, int n)); extern long dat_to_addr __ProtoType__((unsigned char *dat)); extern void addr_to_dat __ProtoType__((long addr, unsigned char *dat)); extern void do_in __ProtoType__((void)); extern void do_reset __ProtoType__((void)); extern void do_configure __ProtoType__((void)); extern void do_unconfigure __ProtoType__((void)); extern void do_inton __ProtoType__((void)); extern void do_intoff __ProtoType__((void)); extern void do_return_interupt __ProtoType__((void)); extern void do_reset_interrupt_system __ProtoType__((void)); extern void do_shutdown __ProtoType__((void)); extern int get_identification __ProtoType__((void)); extern void add_p_plus_one __ProtoType__((unsigned char *r)); extern void add_register_constant __ProtoType__((unsigned char *res, int code, int val)); extern void sub_register_constant __ProtoType__((unsigned char *res, int code, int val)); extern void add_register __ProtoType__((unsigned char *res, unsigned char *r1, unsigned char *r2, int code)); extern void sub_register __ProtoType__((unsigned char *res, unsigned char *r1, unsigned char *r2, int code)); extern void complement_2_register __ProtoType__((unsigned char *r, int code)); extern void complement_1_register __ProtoType__((unsigned char *r, int code)); extern void inc_register __ProtoType__((unsigned char *r, int code)); extern void dec_register __ProtoType__((unsigned char *r, int code)); extern void zero_register __ProtoType__((unsigned char *r, int code)); extern void or_register __ProtoType__((unsigned char *res, unsigned char *r1, unsigned char *r2, int code)); extern void and_register __ProtoType__((unsigned char *res, unsigned char *r1, unsigned char *r2, int code)); extern void copy_register __ProtoType__((unsigned char *to, unsigned char *from, int code)); extern void exchange_register __ProtoType__((unsigned char *r1, unsigned char *r2, int code)); extern void exchange_reg __ProtoType__((unsigned char *r, word_20 *d, int code)); extern void shift_left_register __ProtoType__((unsigned char *r, int code)); extern void shift_left_circ_register __ProtoType__((unsigned char *r, int code)); extern void shift_right_register __ProtoType__((unsigned char *r, int code)); extern void shift_right_circ_register __ProtoType__((unsigned char *r, int code)); extern void shift_right_bit_register __ProtoType__((unsigned char *r, int code)); extern int is_zero_register __ProtoType__(( unsigned char *r, int code)); extern int is_not_zero_register __ProtoType__(( unsigned char *r, int code)); extern int is_equal_register __ProtoType__(( unsigned char *r1, unsigned char *r2, int code)); extern int is_not_equal_register __ProtoType__(( unsigned char *r1, unsigned char *r2, int code)); extern int is_less_register __ProtoType__(( unsigned char *r1, unsigned char *r2, int code)); extern int is_less_or_equal_register __ProtoType__(( unsigned char *r1, unsigned char *r2, int code)); extern int is_greater_register __ProtoType__(( unsigned char *r1, unsigned char *r2, int code)); extern int is_greater_or_equal_register __ProtoType__(( unsigned char *r1, unsigned char *r2, int code)); #endif /* !_HP48_EMU_H */