[nostalgia/core/gba] Update for FileSystem directAccess change
This commit is contained in:
parent
16298d8672
commit
983000efb8
@ -14,8 +14,8 @@
|
|||||||
|
|
||||||
#include "addresses.hpp"
|
#include "addresses.hpp"
|
||||||
#include "bios.hpp"
|
#include "bios.hpp"
|
||||||
#include "irq.hpp"
|
|
||||||
#include "gfx.hpp"
|
#include "gfx.hpp"
|
||||||
|
#include "irq.hpp"
|
||||||
|
|
||||||
namespace nostalgia::core {
|
namespace nostalgia::core {
|
||||||
|
|
||||||
@ -168,10 +168,8 @@ ox::Error loadBgTileSheet(Context *ctx,
|
|||||||
int section,
|
int section,
|
||||||
ox::FileAddress tilesheetAddr,
|
ox::FileAddress tilesheetAddr,
|
||||||
ox::FileAddress paletteAddr) {
|
ox::FileAddress paletteAddr) {
|
||||||
const auto [tsStat, tsStatErr] = ctx->rom->stat(tilesheetAddr);
|
oxRequire(tsStat, ctx->rom->stat(tilesheetAddr));
|
||||||
oxReturnError(tsStatErr);
|
oxRequire(ts, ctx->rom->directAccess(tilesheetAddr));
|
||||||
const auto [ts, tserr] = ctx->rom->read(tilesheetAddr);
|
|
||||||
oxReturnError(tserr);
|
|
||||||
GbaTileMapTarget target;
|
GbaTileMapTarget target;
|
||||||
target.pal.palette = &MEM_BG_PALETTE[section];
|
target.pal.palette = &MEM_BG_PALETTE[section];
|
||||||
target.bgCtl = &bgCtl(section);
|
target.bgCtl = &bgCtl(section);
|
||||||
@ -179,10 +177,8 @@ ox::Error loadBgTileSheet(Context *ctx,
|
|||||||
oxReturnError(ox::readMC(ts, tsStat.size, &target));
|
oxReturnError(ox::readMC(ts, tsStat.size, &target));
|
||||||
// load external palette if available
|
// load external palette if available
|
||||||
if (paletteAddr) {
|
if (paletteAddr) {
|
||||||
const auto [palStat, palStatErr] = ctx->rom->stat(paletteAddr);
|
oxRequire(palStat, ctx->rom->stat(paletteAddr));
|
||||||
oxReturnError(palStatErr);
|
oxRequire(pal, ctx->rom->directAccess(paletteAddr));
|
||||||
const auto [pal, palErr] = ctx->rom->read(paletteAddr);
|
|
||||||
oxReturnError(palErr);
|
|
||||||
oxReturnError(ox::readMC(pal, palStat.size, &target.pal));
|
oxReturnError(ox::readMC(pal, palStat.size, &target.pal));
|
||||||
}
|
}
|
||||||
return OxError(0);
|
return OxError(0);
|
||||||
@ -192,10 +188,8 @@ ox::Error loadSpriteTileSheet(Context *ctx,
|
|||||||
int section,
|
int section,
|
||||||
ox::FileAddress tilesheetAddr,
|
ox::FileAddress tilesheetAddr,
|
||||||
ox::FileAddress paletteAddr) {
|
ox::FileAddress paletteAddr) {
|
||||||
const auto [tsStat, tsStatErr] = ctx->rom->stat(tilesheetAddr);
|
oxRequire(tsStat, ctx->rom->stat(tilesheetAddr));
|
||||||
oxReturnError(tsStatErr);
|
oxRequire(ts, ctx->rom->directAccess(tilesheetAddr));
|
||||||
const auto [ts, tserr] = ctx->rom->read(tilesheetAddr);
|
|
||||||
oxReturnError(tserr);
|
|
||||||
GbaTileMapTarget target;
|
GbaTileMapTarget target;
|
||||||
target.pal.palette = &MEM_SPRITE_PALETTE[section];
|
target.pal.palette = &MEM_SPRITE_PALETTE[section];
|
||||||
// Is this needed? Should this be written to an equivalent sprite value?
|
// Is this needed? Should this be written to an equivalent sprite value?
|
||||||
@ -204,10 +198,8 @@ ox::Error loadSpriteTileSheet(Context *ctx,
|
|||||||
oxReturnError(ox::readMC(ts, tsStat.size, &target));
|
oxReturnError(ox::readMC(ts, tsStat.size, &target));
|
||||||
// load external palette if available
|
// load external palette if available
|
||||||
if (paletteAddr) {
|
if (paletteAddr) {
|
||||||
const auto [palStat, palStatErr] = ctx->rom->stat(paletteAddr);
|
oxRequire(palStat, ctx->rom->stat(paletteAddr));
|
||||||
oxReturnError(palStatErr);
|
oxRequire(pal, ctx->rom->directAccess(paletteAddr));
|
||||||
const auto [pal, palErr] = ctx->rom->read(paletteAddr);
|
|
||||||
oxReturnError(palErr);
|
|
||||||
oxReturnError(ox::readMC(pal, palStat.size, &target.pal));
|
oxReturnError(ox::readMC(pal, palStat.size, &target.pal));
|
||||||
}
|
}
|
||||||
return OxError(0);
|
return OxError(0);
|
||||||
@ -216,10 +208,8 @@ ox::Error loadSpriteTileSheet(Context *ctx,
|
|||||||
ox::Error loadBgPalette(Context *ctx, int section, ox::FileAddress paletteAddr) {
|
ox::Error loadBgPalette(Context *ctx, int section, ox::FileAddress paletteAddr) {
|
||||||
GbaPaletteTarget target;
|
GbaPaletteTarget target;
|
||||||
target.palette = &MEM_BG_PALETTE[section];
|
target.palette = &MEM_BG_PALETTE[section];
|
||||||
const auto [palStat, palStatErr] = ctx->rom->stat(paletteAddr);
|
oxRequire(palStat, ctx->rom->stat(paletteAddr));
|
||||||
oxReturnError(palStatErr);
|
oxRequire(pal, ctx->rom->directAccess(paletteAddr));
|
||||||
const auto [pal, palErr] = ctx->rom->read(paletteAddr);
|
|
||||||
oxReturnError(palErr);
|
|
||||||
oxReturnError(ox::readMC(pal, palStat.size, &target));
|
oxReturnError(ox::readMC(pal, palStat.size, &target));
|
||||||
return OxError(0);
|
return OxError(0);
|
||||||
}
|
}
|
||||||
@ -227,10 +217,8 @@ ox::Error loadBgPalette(Context *ctx, int section, ox::FileAddress paletteAddr)
|
|||||||
ox::Error loadSpritePalette(Context *ctx, int section, ox::FileAddress paletteAddr) {
|
ox::Error loadSpritePalette(Context *ctx, int section, ox::FileAddress paletteAddr) {
|
||||||
GbaPaletteTarget target;
|
GbaPaletteTarget target;
|
||||||
target.palette = &MEM_SPRITE_PALETTE[section];
|
target.palette = &MEM_SPRITE_PALETTE[section];
|
||||||
const auto [palStat, palStatErr] = ctx->rom->stat(paletteAddr);
|
oxRequire(palStat, ctx->rom->stat(paletteAddr));
|
||||||
oxReturnError(palStatErr);
|
oxRequire(pal, ctx->rom->directAccess(paletteAddr));
|
||||||
const auto [pal, palErr] = ctx->rom->read(paletteAddr);
|
|
||||||
oxReturnError(palErr);
|
|
||||||
oxReturnError(ox::readMC(pal, palStat.size, &target));
|
oxReturnError(ox::readMC(pal, palStat.size, &target));
|
||||||
return OxError(0);
|
return OxError(0);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user