Description: C1541-III mbed edition
IEC_bus.h
00001 #ifndef IEC_BUS_INCLUDED 00002 #define IEC_BUS_INCLUDED 00003 00004 00005 /*defines*/ 00006 /*-------*/ 00007 /*IEC commandset: the talker requests the addresses device to become a ...-er*/ 00008 #define LISTEN 0x20 /*base address, device 0-30*/ 00009 #define UNLISTEN 0x3F /*base address, n/a*/ 00010 #define TALK 0x40 /*base address, device 0-30*/ 00011 #define UNTALK 0x5F /*base address, n/a*/ 00012 #define DATA 0x60 /*base address, secondary address 0-15 (this is in some documentation also refered to as OPEN_CHANNEL)*/ 00013 #define CLOSE 0xE0 /*base address, secondary address 0-15*/ 00014 #define OPEN 0xF0 /*base address, secondary address 0-15*/ 00015 00016 #define TIMINGS_DEFAULT 10 00017 #define TIMINGS_DTV 11 00018 #define TIMINGS_VIC20 12 00019 extern int IEC_CLOCK(); 00020 extern int IEC_DATA(); 00021 extern int IEC_ATN(); 00022 extern int IEC_RESET(); 00023 extern int IEC_SRQ(); 00024 00025 extern void IEC_ATN_REL(); 00026 extern void IEC_ATN_PULL(); 00027 extern void IEC_DATA_REL(); 00028 extern void IEC_CLOCK_REL(); 00029 extern void IEC_DATA_PULL(); 00030 extern void IEC_CLOCK_PULL(); 00031 extern void IEC_SRQ_REL(); 00032 extern void IEC_SRQ_PULL(); 00033 00034 00035 /*routines*/ 00036 /*--------*/ 00037 void InitIEC(void); 00038 void SetIEC_timings(unsigned char settings); 00039 void FreeIEC(void); 00040 00041 unsigned char IEC_receive(unsigned char frame_handshake); 00042 unsigned char IEC_send(unsigned char data); 00043 unsigned char IEC_monitor(void); 00044 void IEC_send_string(const unsigned char *inputstring); 00045 void IEC_send_number_as_ASCII(unsigned char number); 00046 void IEC_turnaround(void); 00047 void IEC_undoturnaround(void); 00048 void IEC_letgo(void); 00049 unsigned char CheckForCommand(unsigned char *outputcommand, unsigned char frame_handshake); 00050 00051 #endif 00052 00053 00054 00055 00056 00057
