mirror of
https://github.com/captain-amygdala/pistorm.git
synced 2026-01-30 05:24:03 +00:00
47 lines
1006 B
C
47 lines
1006 B
C
/*
|
|
* Copyright 2020-2021 Niklas Ekström
|
|
*/
|
|
|
|
#include <exec/types.h>
|
|
|
|
// Packet types that are sent across the physical channel.
|
|
#define PKT_DRIVER_STARTED 1
|
|
#define PKT_DRIVER_SHUTTING_DOWN 2
|
|
#define PKT_SETTINGS 3
|
|
#define PKT_CONNECT 4
|
|
#define PKT_CONNECT_RESPONSE 5
|
|
#define PKT_DATA 6
|
|
#define PKT_EOS 7
|
|
#define PKT_RESET 8
|
|
|
|
// Events that are communicated via IRQ from Amiga to Raspberry.
|
|
#define R_EVENT_A2R_TAIL 1
|
|
#define R_EVENT_R2A_HEAD 2
|
|
#define R_EVENT_STARTED 4
|
|
|
|
// Events that are communicated from Raspberry to Amiga.
|
|
#define A_EVENT_R2A_TAIL 1
|
|
#define A_EVENT_A2R_HEAD 2
|
|
|
|
// The communication area, used to create the physical channel.
|
|
struct ComArea
|
|
{
|
|
volatile UBYTE a_events;
|
|
volatile UBYTE a_enable;
|
|
volatile UBYTE r_events;
|
|
volatile UBYTE r_enable;
|
|
|
|
ULONG mem_base;
|
|
ULONG mem_size;
|
|
|
|
volatile UBYTE a2r_tail;
|
|
volatile UBYTE r2a_head;
|
|
volatile UBYTE r2a_tail;
|
|
volatile UBYTE a2r_head;
|
|
|
|
UBYTE a2r_buffer[256];
|
|
UBYTE r2a_buffer[256];
|
|
};
|
|
|
|
extern struct ComArea *ca;
|