2016-06-25 20:46:54 -04:00
|
|
|
#pragma once
|
|
|
|
#include "stdafx.h"
|
2018-02-25 11:27:32 -05:00
|
|
|
#include "BaseLoader.h"
|
2016-06-25 20:46:54 -04:00
|
|
|
|
2018-07-02 14:49:19 -04:00
|
|
|
struct NsfHeader;
|
|
|
|
struct RomData;
|
|
|
|
|
2018-02-25 11:27:32 -05:00
|
|
|
class NsfLoader : public BaseLoader
|
2016-06-25 20:46:54 -04:00
|
|
|
{
|
|
|
|
private:
|
2018-07-02 14:49:19 -04:00
|
|
|
void Read(uint8_t* &data, uint8_t& dest);
|
|
|
|
void Read(uint8_t* &data, uint16_t& dest);
|
|
|
|
void Read(uint8_t* &data, char* dest, size_t len);
|
2016-06-25 20:46:54 -04:00
|
|
|
|
|
|
|
protected:
|
2018-07-02 14:49:19 -04:00
|
|
|
void InitializeFromHeader(RomData& romData);
|
|
|
|
void InitHeader(NsfHeader& header);
|
2016-06-25 20:46:54 -04:00
|
|
|
|
|
|
|
public:
|
2018-02-25 11:27:32 -05:00
|
|
|
using BaseLoader::BaseLoader;
|
|
|
|
|
2018-07-02 14:49:19 -04:00
|
|
|
RomData LoadRom(vector<uint8_t>& romFile);
|
2016-06-25 20:46:54 -04:00
|
|
|
};
|