OSCR
Open Source Cartridge Reader
Loading...
Searching...
No Matches
MegaDrive.h
1#pragma once
2#if !defined(OSCR_CORE_MEGADRIVE_H_)
3# define OSCR_CORE_MEGADRIVE_H_
4
5# include "config.h"
6
7# if HAS_MD
8# include "syslibinc.h"
9# include "common/Types.h"
10
15{
16 void pulse_clock(int n);
17 void menu();
18 void cartMenu();
19 void segaCDMenu();
20
21 void cartOn();
22 void cartOff();
23
24 void readROM();
25 void readEEP();
26 void writeEEP();
27 void readBram();
28 void writeBram();
29
30 void force_cartSize();
31
32 uint16_t readWord(uint32_t myAddress);
33 void writeWord(uint32_t myAddress, uint16_t myData);
34
35 void enableSram(bool enableSram);
36 void readSram();
37 void writeSram();
38
39 uint16_t readFlash(uint32_t myAddress);
40 void writeFlash(uint32_t myAddress, uint16_t myData);
41
42 void dataOut();
43 void dataIn();
44
45 uint8_t copyToRomName(char * output, uint8_t const * input, uint8_t length);
46 void getCartInfo();
47
48 void writeSSF2Map(uint32_t myAddress, uint16_t myData);
49
50 void EepromInit(uint8_t eepmode);
51
52 void writeWord_SDA(uint32_t myAddress, uint16_t myData);
53 void writeWord_SCL(uint32_t myAddress, uint16_t myData);
54 void writeWord_CM(uint32_t myAddress, uint16_t myData);
55
56 void EepromStart();
57 void EepromSet0();
58 void EepromSet1();
59
60 void EepromDevice();
61 void EepromSetDeviceAddress(uint16_t addrhi);
62
63 void EepromStatus();
64
65 void EepromSetAddress(uint16_t address);
66
67 void EepromReadMode();
68 void EepromWriteMode();
69
70 void EepromReadData();
71 void EepromWriteData(uint8_t data);
72
73 void writeEepromByte(uint16_t address);
74 void readEepromByte(uint16_t address);
75
76 void EepromFinish();
77 void EepromStop();
78
79 void readRealtec();
80 void writeRealtec(uint32_t address, uint8_t value);
81
82# if HAS_FLASH
83 void idFlash();
84
85 void resetFlash();
86 void eraseFlash();
87 void blankCheck();
88 void verifyFlash();
89 void busyCheck();
90
91 uint8_t readStatusReg();
92
93 void write29F1610();
94 void write29GL();
95# endif /* HAS_FLASH */
96} /* namespace OSCR::Cores::MegaDrive */
97
98# endif /* HAS_MD */
99#endif /* OSCR_CORE_MEGADRIVE_H_ */
System core for the Sega MegaDrive/Genesis.
Definition MegaDrive.h:15