OSCR
Open Source Cartridge Reader
Loading...
Searching...
No Matches
standard.h
1/********************************************************************
2* Open Source Cartridge Reader *
3********************************************************************/
4#pragma once
5#ifndef CRDB_STANDARD_H_
6# define CRDB_STANDARD_H_
7
8#include "common/CRDB.h"
9
10namespace OSCR
11{
12 namespace Databases
13 {
14 namespace Standard
15 {
17 {
18 crc32_t crc32;
19 uint32_t mapper;
20 uint32_t size;
21 char name[101];
22 };
23
25 {
26 public:
27 uint32_t getCRC32();
28 void debug();
29 };
30
31 class CRDatabase : public OSCR::CRDB::CRDB<StandardRecord, CRDB_RECORD_SIZE_STANDARD>
32 {
33 using CRDB::CRDB;
34 public:
35 void nextRecord();
36
37 virtual ~CRDatabase() = default;
38 };
39
40 extern crdbRecord * romDetail;
41 extern StandardRecord * romRecord;
42 extern CRDatabase * crdb;
43 extern bool ready;
44
45 extern void setup(char const * databasePath);
46 extern void setup(__FlashStringHelper const * databasePath);
47
48 extern bool matchCRC(crc32_t * crc32ptr = nullptr, uint8_t offset = 0);
49 extern bool searchDatabase(crc32_t * crc32ptr = nullptr);
50
51 extern bool browseDatabase();
52
53 extern bool compareCRC(char const * databasePath, crc32_t * crc32ptr = nullptr, uint8_t offset = 0);
54 extern bool compareCRC(__FlashStringHelper const * databaseName, crc32_t * crc32ptr = nullptr, uint8_t offset = 0);
55
56 extern bool compareCRC(char const * databasePath, crc32_t & crc32, uint8_t offset = 0);
57 extern bool compareCRC(__FlashStringHelper const * databaseName, crc32_t & crc32, uint8_t offset = 0);
58 }
59 }
60}
61
62#endif /* CRDB_STANDARD_H_ */
Definition CRDB.h:313
Definition CRDB.h:63
Main program.
Definition Storage.h:13
Interface for handling CRC32 values.
Definition crc32_t.h:14