2015-05-01 02:39:15 -04:00
|
|
|
#pragma once
|
2008-01-15 20:27:44 +00:00
|
|
|
|
|
|
|
#include "Iop_Module.h"
|
|
|
|
|
|
|
|
class CIopBios;
|
|
|
|
|
|
|
|
namespace Iop
|
|
|
|
{
|
2012-09-18 01:27:34 +00:00
|
|
|
class CModload : public CModule
|
|
|
|
{
|
|
|
|
public:
|
2018-04-30 21:01:23 +01:00
|
|
|
CModload(CIopBios&, uint8*);
|
|
|
|
virtual ~CModload() = default;
|
2008-01-15 20:27:44 +00:00
|
|
|
|
2018-04-30 21:01:23 +01:00
|
|
|
std::string GetId() const override;
|
|
|
|
std::string GetFunctionName(unsigned int) const override;
|
|
|
|
void Invoke(CMIPS&, unsigned int) override;
|
2008-01-15 20:27:44 +00:00
|
|
|
|
2012-09-18 01:27:34 +00:00
|
|
|
private:
|
2018-04-30 21:01:23 +01:00
|
|
|
uint32 LoadStartModule(uint32, uint32, uint32, uint32);
|
|
|
|
uint32 StartModule(uint32, uint32, uint32, uint32, uint32);
|
2020-05-03 12:07:08 -04:00
|
|
|
uint32 LoadModuleBufferAddress(uint32, uint32, uint32);
|
2018-04-30 21:01:23 +01:00
|
|
|
uint32 LoadModuleBuffer(uint32);
|
|
|
|
uint32 GetModuleIdList(uint32, uint32, uint32);
|
|
|
|
int32 ReferModuleStatus(uint32, uint32);
|
|
|
|
int32 SearchModuleByName(uint32);
|
2021-01-03 20:38:15 -05:00
|
|
|
int32 AllocLoadMemory(uint32, uint32, uint32);
|
2015-05-01 21:47:26 -04:00
|
|
|
|
2018-04-30 21:01:23 +01:00
|
|
|
CIopBios& m_bios;
|
|
|
|
uint8* m_ram = nullptr;
|
2012-09-18 01:27:34 +00:00
|
|
|
};
|
2016-01-13 22:18:10 -05:00
|
|
|
|
|
|
|
typedef std::shared_ptr<CModload> ModloadPtr;
|
2008-01-15 20:27:44 +00:00
|
|
|
}
|