// may not be compiled on an architecture that supports little endian
// natively.
+struct Metadata
+{
+ uint8_t metaTag[4]; // "META"
+ uint32_t metaSize; // Size of the META chunk
+ uint8_t data[]; // Variable length array of metadata
+};
+
struct A2RStream
{
uint8_t location; // Quarter track for this stream
uint8_t data[]; // Variable length array for stream data
};
-struct A2RMetadata
-{
- uint8_t metaTag[4]; // "META"
- uint32_t metaSize; // Size of the META chunk
- uint8_t data[]; // Variable length array of metadata
-};
-
struct A2R
{
// Header
uint16_t reserved;
};
-struct WOZMetadata
-{
- uint8_t metaTag[4]; // "META"
- uint32_t metaSize; // Size of the META chunk
- uint8_t data[]; // Variable length array of metadata
-};
-
struct WOZ
{
// Header
uint8_t * ReadFile(const char * filename, uint32_t * size);
bool LoadA2R(const char * filename);
bool WriteWOZFile(const char * filename);
+void UnpackMetadata(Metadata * data);
+uint8_t * GetMetadata(const char * keyword);
+uint16_t GetRequiredMachineBits(void);
+uint16_t GetRequiredRAMInK(void);
// Inline functions ("get" functions--need to write "set" functions)