Archived
1
0
Fork 0
This repository has been archived on 2024-03-16. You can view files and clone it, but cannot push or open issues or pull requests.
libg1m/include/libg1m/format/addin.h

52 lines
1.8 KiB
C

/* ************************************************************************** */
/* _____ _ */
/* libg1m/format/addin.h |_ _|__ _ _| |__ ___ _ _ */
/* | Project: libg1m | |/ _ \| | | | '_ \ / _ \ | | | */
/* | | (_) | |_| | | | | __/ |_| | */
/* By: thomas <thomas@touhey.fr> |_|\___/ \__,_|_| |_|\___|\__, |.fr */
/* Last updated: 2016/11/02 14:15:46 |___/ */
/* */
/* ************************************************************************** */
#ifndef LIBG1M_FORMAT_ADDIN_H
# define LIBG1M_FORMAT_ADDIN_H
# include <stdint.h>
# pragma pack(1)
/* Add-ins are compiled programs. They only have one G1M part,
* These add-ins usually have the `g1a` extension.
*
* There is a declination of this format for fx-CG calculators:
* See `libg1m/format/addin_cg.h`.
*
* with one subheader, which is the following: */
struct g1a_subheader {
/* the internal name, of format "@APPNAME".
* useful for add-ins calling themselves... I guess? */
uint8_t internal_name[8];
/* the number of estrips (I don't know yet) */
uint8_t estrips_count;
/* the add-in version, of format "01.23.4567"
* the "01.23" will be displayed in SYSTEM > VERSION */
uint8_t version[10];
/* the add-in creation type, of format "YYYY.MMDD.HHMM" */
uint8_t creation_date[14];
/* 30x17 pixel menu icon bitmap */
uint8_t icon[68];
/* program title */
uint8_t title[8];
/* and the filesize of the part! */
uint32_t filesize;
};
/* Then the G1A file will just contain the add-in code and stop. */
# pragma pack()
#endif /* LIBG1M_FORMAT_ADDIN_H */