1 /* if1.h: Interface 1 handling routines
2    Copyright (c) 2004-2011 Gergely Szasz, Philip Kendall
3 
4    $Id: if1.h 4835 2012-12-31 15:35:45Z zubzero $
5 
6    This program is free software; you can redistribute it and/or modify
7    it under the terms of the GNU General Public License as published by
8    the Free Software Foundation; either version 2 of the License, or
9    (at your option) any later version.
10 
11    This program is distributed in the hope that it will be useful,
12    but WITHOUT ANY WARRANTY; without even the implied warranty of
13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14    GNU General Public License for more details.
15 
16    You should have received a copy of the GNU General Public License along
17    with this program; if not, write to the Free Software Foundation, Inc.,
18    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19 
20    Author contact information:
21 
22    Gergely: szaszg@hu.inter.net
23 
24 */
25 
26 #ifndef FUSE_IF1_H
27 #define FUSE_IF1_H
28 
29 #include <libspectrum.h>
30 
31 /* IF1 */
32 extern int if1_active;
33 extern int if1_available;
34 
35 void if1_init( void );
36 libspectrum_error if1_end( void );
37 
38 void if1_page( void );
39 void if1_unpage( void );
40 void if1_memory_map( void );
41 
42 void if1_port_out( libspectrum_word port, libspectrum_byte val );
43 libspectrum_byte if1_port_in( libspectrum_word port, int *attached );
44 
45 int if1_mdr_insert( int drive, const char *filename );
46 int if1_mdr_write( int drive, const char *filename );
47 int if1_mdr_eject( int drive );
48 int if1_mdr_save( int drive, int saveas );
49 void if1_mdr_writeprotect( int drive, int wrprot );
50 void if1_plug( const char *filename, int what );
51 void if1_unplug( int what );
52 
53 void if1_update_menu( void );
54 
55 int if1_unittest( void );
56 
57 #endif				/* #ifndef FUSE_IF1_H */
58