cake
/
libg1m
Archived
1
0
Fork 0

Added a few more files.

This commit is contained in:
Thomas Touhey 2017-03-16 12:50:13 +01:00
parent 139a0aade0
commit 23e2ad44d3
4 changed files with 38 additions and 5 deletions

View File

@ -43,10 +43,8 @@ struct cas_header {
/* For a program, the specific bytes are the following: */
# define casiolink_program_uk0 0x01 /* <unknown> */
# define casiolink_program_stats 0x02 /* store stats data */
# define casiolink_program_matrix 0x04 /* matrix mode */
# define casiolink_program_uk1 0x08 /* <unknown */
# define casiolink_program_stddev 0x10 /* standard deviation mode */
# define casiolink_program_linreg 0x20 /* linear regression mode */
# define casiolink_program_basen 0x40 /* base-n mode */

View File

@ -152,7 +152,8 @@ struct storage_file {
* probably detected when the file is transferred. Here are the
* known values: */
# define g1m_storage_filetype_unknown 0x01
# define g1m_storage_filetype_regular 0x01
# define g1m_storage_filetype_unknown g1m_storage_filetype_regular
# define g1m_storage_filetype_addin 0x02 /* G1A */
# define g1m_storage_filetype_mcs 0x06 /* G1M */
# define g1m_storage_filetype_g2r 0x2E /* G1R */

View File

@ -33,13 +33,11 @@ int g1m_decode_mcs_spreadsheet(g1m_mcsfile_t **handle, g1m_buffer_t *buffer,
{
/* read header */
DREAD(hd, mcs_spreadsheetheader)
logm_info(&hd, sizeof(struct mcs_spreadsheetheader));
if (hd.has_subheader != 0x01)
return (0);
/* read subheader */
DREAD(shd, mcs_spreadsheet_subheader)
logm_info(&shd, sizeof(struct mcs_spreadsheet_subheader));
uint_fast32_t colcount = hd.column_count;
colcount = be32toh(colcount << 8);
shd.defs_size = be32toh(shd.defs_size);

View File

@ -144,6 +144,8 @@ static struct group_corresp mcs_groups[] = {
TTERM
}},
{"S-SHEET", noarg, (struct type_corresp[]){
{0xFE, "@SNAME", 0, "@SSHEET",
"spreadsheet name?", 0x00},
{0xFE, NULL, 0, "@SSHEET",
"spreadsheet", g1m_mcstype_spreadsheet},
TTERM
@ -163,6 +165,11 @@ static struct group_corresp mcs_groups[] = {
"econ3 data", 0x00},
TTERM
}},
{"ECON4_", arg | arg_is_num, (struct type_corresp[]){
{0xFE, "Econ4N", arg | arg_is_num, "@E-CON2",
"econ4 data", 0x00},
TTERM
}},
{"FINANCIAL", noarg, (struct type_corresp[]){
{0xFE, NULL /* "fina_mem" */, 0, "@FINANCE",
"financial data", 0x00},
@ -185,6 +192,35 @@ static struct group_corresp mcs_groups[] = {
"range data?", 0x00},
TTERM
}},
{"3DGRAPH", noarg, (struct type_corresp[]){
{0xFE, NULL /* AREACOL */, 0, "@3DGRAPH",
"???", 0x00},
{0xFE, NULL /* LINECOL */, 0, "@3DGRAPH",
"???", 0x00},
{0xFE, NULL /* SELECT */, 0, "@3DGRAPH",
"???", 0x00},
{0xFE, NULL /* TEMPLATE */, 0, "@3DGRAPH",
"???", 0x00},
{0xFE, NULL /* SETUP */, 0, "@3DGRAPH",
"???", 0x00},
{0xFE, NULL /* TYPE */, 0, "@3DGRAPH",
"???", 0x00},
{0xFE, NULL /* VWIN */, 0, "@3DGRAPH",
"???", 0x00},
{0xFE, "Z", arg | arg_is_num /* 1 to 3 */, "@3DGRAPH",
"???", 0x00},
TTERM
}},
{"@GEOM", noarg, (struct type_corresp[]){
{0xFE, NULL, 0, "@GEOM",
"???", 0x00},
TTERM
}},
{"@PROBSIM", noarg, (struct type_corresp[]){
{0xFE, NULL /* ProbRand */, 0, "@PROBSIM",
"???", 0x00},
TTERM
}},
/* terminating entry */
{NULL, 0, NULL}