9 #define DRIVERNAME "c64-swlink.ser"
10 #elif defined(__C128__)
11 #define DRIVERNAME "c128-swlink.ser"
12 #elif defined(__PLUS4__)
13 #define DRIVERNAME "plus4-stdser.ser"
14 #elif defined(__CBM610__)
15 #define DRIVERNAME "cbm610-std.ser"
16 #elif defined(__APPLE2ENH__)
17 #define DRIVERNAME "a2e.ssc.ser"
18 #elif defined(__APPLE2__)
19 #define DRIVERNAME "a2.ssc.ser"
20 #elif defined(__ATARIXL__)
21 #define DRIVERNAME "atrxrdev.ser"
22 #elif defined(__ATARI__)
23 #define DRIVERNAME "atrrdev.ser"
25 #define DRIVERNAME "unknown"
26 #error "Unknown target system"
29 extern unsigned int getsp(void);
31 static const struct ser_params Params = {
32 SER_BAUD_9600, /* Baudrate */
33 SER_BITS_8, /* Number of data bits */
34 SER_STOP_1, /* Number of stop bits */
35 SER_PAR_NONE, /* Parity setting */
36 SER_HS_HW /* Type of handshake to use */
41 static void CheckError (const char* Name, unsigned char Error)
43 if (Error != SER_ERR_OK) {
44 fprintf (stderr, "%s: %d\n", Name, Error);
55 printf("SP: $%04x\n", getsp());
58 CheckError ("ser_load_driver", ser_load_driver (DRIVERNAME));
61 printf("params at %p\n", &Params);
62 CheckError ("ser_open", ser_open (&Params));
65 printf("SP 2: $%04x\n", getsp());
68 printf("loop 1 SP: $%04x\n", getsp());
73 CheckError ("ser_put", ser_put (C));
78 if (Res != SER_ERR_NO_DATA) {
79 printf("loop 2 SP: $%04x\n", getsp());
80 CheckError ("ser_get", Res);
85 printf("after loop SP: $%04x\n", getsp());
87 CheckError ("ser_unload", ser_unload ());
91 printf("final SP: $%04x\n", getsp());