OSCR
Open Source Cartridge Reader
Loading...
Searching...
No Matches
SuperAcan.h
1#pragma once
2#if !defined(OSCR_CORE_SUPERACAN_H_)
3# define OSCR_CORE_SUPERACAN_H_
4
5# include "config.h"
6
7# if HAS_SUPRACAN
8# include "syslibinc.h"
9# include "common/Types.h"
10
15{
16 enum class MenuOption : uint8_t
17 {
18 ReadROM,
19 ReadSave,
20 WriteSave,
21 WriteFlash,
22 RefreshCart,
23 UM6650,
24 Back,
25 };
26
27 constexpr uint8_t const kMenuOptionMax = 7;
28
29 void menu();
30
31 void cartOn();
32 void cartOff();
33
34 void openCRDB();
35 void closeCRDB();
36
37 void printHeader();
38
39 void writeCommand(uint32_t offset, uint16_t command);
40 void readROM();
41 void readSRAM();
42 void writeSRAM();
43 void verifySRAM();
44 void readUM6650();
45 void writeUM6650();
46 void flashCart();
47 bool checkROM();
48 uint32_t getRomSize();
49 void resetCart();
50 void writeWord(uint32_t addr, uint16_t data);
51 uint16_t readWord(uint32_t addr);
52 uint32_t getFlashChipSize(uint16_t chip_id);
53} /* namespace OSCR::Cores::SuperAcan */
54
55# endif /* HAS_SUPRACAN */
56#endif /* OSCR_CORE_SUPERACAN_H_ */
System core for the Super A'can.
Definition SuperAcan.h:15