Remove nes implementation so that we can implement it in a better way from scratch.
This commit is contained in:
@@ -1,147 +0,0 @@
|
||||
pub const Nrom = @import("nrom.zig");
|
||||
pub const Uxrom = @import("uxrom.zig");
|
||||
pub const Mmc1 = @import("mmc1.zig");
|
||||
pub const Cnrom = @import("cnrom.zig");
|
||||
pub const Mmc3 = @import("mmc3.zig");
|
||||
pub const Mmc4 = @import("mmc4.zig");
|
||||
pub const Mmc5 = @import("mmc5.zig");
|
||||
pub const Axrom = @import("axrom.zig");
|
||||
pub const Gxrom = @import("gxrom.zig");
|
||||
pub const Mmc2 = @import("mmc2.zig");
|
||||
pub const ColorDreams = @import("colordreams.zig");
|
||||
pub const Camerica = @import("camerica.zig");
|
||||
pub const Mapper13 = @import("mapper13.zig");
|
||||
pub const Mapper34 = @import("mapper34.zig");
|
||||
pub const Mapper65 = @import("mapper65.zig");
|
||||
pub const Mapper68 = @import("mapper68.zig");
|
||||
pub const Mapper69 = @import("mapper69.zig");
|
||||
pub const Nina03 = @import("nina03.zig");
|
||||
pub const Mapper76 = @import("mapper76.zig");
|
||||
pub const Irem78 = @import("irem78.zig");
|
||||
pub const Mapper87 = @import("mapper87.zig");
|
||||
pub const Mapper88 = @import("mapper88.zig");
|
||||
pub const Mapper89 = @import("mapper89.zig");
|
||||
pub const Mapper93 = @import("mapper93.zig");
|
||||
pub const Mapper94 = @import("mapper94.zig");
|
||||
pub const Mapper118 = @import("mapper118.zig");
|
||||
pub const Mapper119 = @import("mapper119.zig");
|
||||
pub const Mapper140 = @import("mapper140.zig");
|
||||
pub const Mapper180 = @import("mapper180.zig");
|
||||
pub const Vrc1 = @import("vrc1.zig");
|
||||
pub const Vrc2 = @import("vrc2.zig");
|
||||
pub const Mapper232 = @import("mapper232.zig");
|
||||
pub const Vrc3 = @import("vrc3.zig");
|
||||
pub const Vrc4 = @import("vrc4.zig");
|
||||
pub const Vrc6 = @import("vrc6.zig");
|
||||
pub const Vrc7 = @import("vrc7.zig");
|
||||
pub const Mapper210 = @import("mapper210.zig");
|
||||
pub const Mapper206 = @import("mapper206.zig");
|
||||
|
||||
const types = @import("types.zig");
|
||||
pub const Mirroring = types.Mirroring;
|
||||
|
||||
pub const Mapper = union(enum) {
|
||||
nrom: Nrom,
|
||||
uxrom: Uxrom,
|
||||
mmc1: Mmc1,
|
||||
cnrom: Cnrom,
|
||||
mmc3: Mmc3,
|
||||
mmc4: Mmc4,
|
||||
mmc5: Mmc5,
|
||||
axrom: Axrom,
|
||||
gxrom: Gxrom,
|
||||
mmc2: Mmc2,
|
||||
color_dreams: ColorDreams,
|
||||
camerica: Camerica,
|
||||
mapper13: Mapper13,
|
||||
mapper34: Mapper34,
|
||||
mapper65: Mapper65,
|
||||
mapper68: Mapper68,
|
||||
mapper69: Mapper69,
|
||||
nina03: Nina03,
|
||||
mapper76: Mapper76,
|
||||
irem78: Irem78,
|
||||
mapper87: Mapper87,
|
||||
mapper88: Mapper88,
|
||||
mapper89: Mapper89,
|
||||
mapper93: Mapper93,
|
||||
mapper94: Mapper94,
|
||||
mapper118: Mapper118,
|
||||
mapper119: Mapper119,
|
||||
mapper140: Mapper140,
|
||||
mapper180: Mapper180,
|
||||
vrc1: Vrc1,
|
||||
vrc2: Vrc2,
|
||||
mapper232: Mapper232,
|
||||
vrc3: Vrc3,
|
||||
vrc4: Vrc4,
|
||||
vrc6: Vrc6,
|
||||
vrc7: Vrc7,
|
||||
mapper210: Mapper210,
|
||||
mapper206: Mapper206,
|
||||
|
||||
pub fn cpuMapRead(
|
||||
self: *const Mapper,
|
||||
address: u16,
|
||||
) ?usize {
|
||||
return switch (self.*) {
|
||||
inline else => |*mapper| mapper.cpuMapRead(address),
|
||||
};
|
||||
}
|
||||
|
||||
pub fn cpuWrite(
|
||||
self: *Mapper,
|
||||
address: u16,
|
||||
value: u8,
|
||||
) void {
|
||||
switch (self.*) {
|
||||
inline else => |*mapper| mapper.cpuWrite(address, value),
|
||||
}
|
||||
}
|
||||
|
||||
pub fn ppuMapRead(
|
||||
self: *Mapper,
|
||||
address: u16,
|
||||
) ?usize {
|
||||
return switch (self.*) {
|
||||
inline else => |*mapper| mapper.ppuMapRead(address),
|
||||
};
|
||||
}
|
||||
|
||||
pub fn ppuMapWrite(
|
||||
self: *const Mapper,
|
||||
address: u16,
|
||||
) ?usize {
|
||||
return switch (self.*) {
|
||||
inline else => |*mapper| mapper.ppuMapWrite(address),
|
||||
};
|
||||
}
|
||||
|
||||
pub fn mirroring(
|
||||
self: *const Mapper,
|
||||
) Mirroring {
|
||||
return switch (self.*) {
|
||||
inline else => |*mapper| mapper.mirroring(),
|
||||
};
|
||||
}
|
||||
|
||||
pub fn irqAsserted(
|
||||
self: *const Mapper,
|
||||
) bool {
|
||||
return switch (self.*) {
|
||||
inline else => |*mapper| mapper.irqAsserted(),
|
||||
};
|
||||
}
|
||||
|
||||
pub fn handleScanline(
|
||||
self: *Mapper,
|
||||
) void {
|
||||
switch (self.*) {
|
||||
.mmc3 => |*mmc3| mmc3.handleScanline(),
|
||||
.mmc5 => |*mmc5| mmc5.handleScanline(),
|
||||
.mapper118 => |*m118| m118.handleScanline(),
|
||||
.mapper119 => |*m119| m119.handleScanline(),
|
||||
else => {},
|
||||
}
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user