OSCR
Open Source Cartridge Reader
Loading...
Searching...
No Matches
SNES.h
1#pragma once
2#if !defined(OSCR_CORE_SNES_H_)
3# define OSCR_CORE_SNES_H_
4
5# include "config.h"
6
7# if HAS_SNES
8# include "syslibinc.h"
9# include "common/Types.h"
10# include "common/crc32.h"
11
12# define snesCRDB ((OSCR::Databases::SNES *)cartCRDB)
13
18{
20 {
21 crc32_t crc32;
22 uint16_t chksum;
23 crc32_t id32;
24 uint32_t size;
25 uint16_t banks;
26 char name[101];
27 };
28
29 extern crdbSNESRecord * romDetail;
30
31 void reproCFIMenu();
32 void reproMenu();
33 void menu();
34 void snesMenu();
35 void confMenuManual(bool disallowBack);
36
37 void cartOn();
38 void cartOff();
39
40 void openCRDB();
41 void closeCRDB();
42
43 void printHeader();
44
45 void dataIn();
46 void dataOut();
47 void controlOut();
48 void controlIn();
49 void writeBank(uint8_t myBank, uint16_t myAddress, uint8_t myData);
50 uint8_t readBank(uint8_t myBank, uint16_t myAddress);
51 void readLoRomBanks(uint16_t start, uint16_t total, OSCR::Storage::File * file);
52 void readHiRomBanks(uint16_t start, uint16_t total, OSCR::Storage::File * file);
53 void getCartInfo();
54 bool checkcart();
55 void checkAltConf(uint16_t chksumSearch, crc32_t & crc32search);
56
57 uint16_t calc_checksum();
58 bool compare_checksum();
59 bool matchCRC();
60
61 void nextCFI();
62
63 void readROM();
64 void writeSRAM(bool browseFile);
65 void readSRAM();
66 uint32_t verifySRAM();
67 bool eraseSRAM(uint8_t b);
68} /* namespace OSCR::Cores::SNES */
69
70# endif /* HAS_SNES */
71#endif /* OSCR_CORE_SNES_H_ */
Definition Storage.h:88
System core for the SNES.
Definition SNES.h:18
bool eraseSRAM(uint8_t b)
Definition SNES.cpp:2482
Interface for handling CRC32 values.
Definition crc32_t.h:14