rustfmt with latest nightly 1.83 and style_version=2024

mostly import reformatting
This commit is contained in:
jsgroth 2024-09-27 15:18:47 -05:00
parent c33fea45b1
commit a828b0bbb4
103 changed files with 241 additions and 288 deletions

View File

@ -13,7 +13,7 @@ use crate::serial::SerialPort;
use crate::sm83::Sm83;
use crate::speed::SpeedRegister;
use crate::timer::GbTimer;
use crate::{ppu, HardwareMode};
use crate::{HardwareMode, ppu};
use bincode::{Decode, Encode};
use jgenesis_common::frontend::{
AudioOutput, Color, EmulatorTrait, PixelAspectRatio, Renderer, SaveWriter, TickEffect,

View File

@ -5,6 +5,7 @@ mod noise;
mod pulse;
mod wavetable;
use crate::HardwareMode;
use crate::api::GameBoyEmulatorConfig;
use crate::apu::noise::NoiseChannel;
use crate::apu::pulse::PulseChannel;
@ -12,7 +13,6 @@ use crate::apu::wavetable::WavetableChannel;
use crate::audio::GameBoyResampler;
use crate::speed::CpuSpeed;
use crate::timer::GbTimer;
use crate::HardwareMode;
use bincode::{Decode, Encode};
use jgenesis_common::frontend::AudioOutput;
use jgenesis_common::num::GetBit;

View File

@ -1,5 +1,5 @@
use crate::apu::components::{TimerTickEffect, WavetableLengthCounter, WavetableTimer};
use crate::HardwareMode;
use crate::apu::components::{TimerTickEffect, WavetableLengthCounter, WavetableTimer};
use bincode::{Decode, Encode};
use jgenesis_common::num::GetBit;

View File

@ -1,5 +1,6 @@
//! Game Boy bus / address mapping
use crate::HardwareMode;
use crate::apu::Apu;
use crate::cartridge::Cartridge;
use crate::dma::DmaUnit;
@ -8,11 +9,10 @@ use crate::interrupts::InterruptRegisters;
use crate::memory::Memory;
use crate::ppu::Ppu;
use crate::serial::SerialPort;
use crate::sm83::bus::BusInterface;
use crate::sm83::InterruptType;
use crate::sm83::bus::BusInterface;
use crate::speed::{CpuSpeed, SpeedRegister};
use crate::timer::GbTimer;
use crate::HardwareMode;
trait HardwareModeExt {
fn read_opri(self) -> u8;

View File

@ -1,8 +1,8 @@
pub mod huc3;
pub mod mbc3;
use crate::cartridge::mappers::mbc3::Mbc3Rtc;
use crate::cartridge::HasBasicRamMapping;
use crate::cartridge::mappers::mbc3::Mbc3Rtc;
use bincode::{Decode, Encode};
use jgenesis_common::frontend::SaveWriter;
use jgenesis_common::num::{GetBit, U16Ext};

View File

@ -1,6 +1,6 @@
use crate::api::{GbPalette, GbcColorCorrection};
use crate::ppu::PpuFrameBuffer;
use crate::{ppu, HardwareMode};
use crate::{HardwareMode, ppu};
use jgenesis_common::frontend::Color;
use jgenesis_proc_macros::{FakeDecode, FakeEncode};
use std::array;

View File

@ -4,13 +4,13 @@ mod debug;
mod fifo;
mod registers;
use crate::HardwareMode;
use crate::dma::DmaUnit;
use crate::interrupts::InterruptRegisters;
use crate::ppu::fifo::PixelFifo;
use crate::ppu::registers::{CgbPaletteRam, Registers};
use crate::sm83::InterruptType;
use crate::speed::CpuSpeed;
use crate::HardwareMode;
use bincode::{Decode, Encode};
use jgenesis_common::frontend::FrameSize;
use jgenesis_common::num::GetBit;

View File

@ -1,8 +1,8 @@
use crate::api::BackgroundTileMap;
use crate::ppu::fifo::BgTileAttributes;
use crate::ppu::registers::{CgbPaletteRam, TileDataArea};
use crate::ppu::{registers, Ppu};
use crate::{graphics, HardwareMode};
use crate::ppu::{Ppu, registers};
use crate::{HardwareMode, graphics};
use jgenesis_common::frontend::Color;
use jgenesis_common::num::GetBit;

View File

@ -1,6 +1,6 @@
use crate::ppu::registers::{CgbPaletteRam, Registers, TileDataArea};
use crate::ppu::{PpuFrameBuffer, SpriteData, Vram, MAX_SPRITES_PER_LINE, SCREEN_WIDTH};
use crate::HardwareMode;
use crate::ppu::registers::{CgbPaletteRam, Registers, TileDataArea};
use crate::ppu::{MAX_SPRITES_PER_LINE, PpuFrameBuffer, SCREEN_WIDTH, SpriteData, Vram};
use bincode::{Decode, Encode};
use jgenesis_common::num::GetBit;
use std::array;

View File

@ -3,9 +3,9 @@
//! Accessories that use the serial port (e.g. link cable) are not emulated, but some games depend
//! on the serial port responding correctly to reads/writes.
use crate::HardwareMode;
use crate::interrupts::InterruptRegisters;
use crate::sm83::InterruptType;
use crate::HardwareMode;
use bincode::{Decode, Encode};
use jgenesis_common::num::GetBit;

View File

@ -11,8 +11,8 @@ mod flags;
mod flow;
mod load;
use crate::sm83::bus::BusInterface;
use crate::HardwareMode;
use crate::sm83::bus::BusInterface;
use bincode::{Decode, Encode};
use jgenesis_common::num::GetBit;

View File

@ -1,12 +1,12 @@
//! Genesis public interface and main loop
use crate::GenesisControllerType;
use crate::audio::GenesisAudioResampler;
use crate::input::{GenesisInputs, InputState};
use crate::memory::{Cartridge, MainBus, MainBusSignals, MainBusWrites, Memory};
use crate::timing::GenesisCycleCounters;
use crate::vdp::{Vdp, VdpConfig, VdpTickEffect};
use crate::ym2612::{Ym2612, YmTickEffect};
use crate::GenesisControllerType;
use bincode::{Decode, Encode};
use jgenesis_common::frontend::{
AudioOutput, Color, EmulatorTrait, FrameSize, PartialClone, PixelAspectRatio, Renderer,

View File

@ -3,7 +3,7 @@
use crate::GenesisEmulatorConfig;
use bincode::{Decode, Encode};
use jgenesis_common::num::GetBit;
use jgenesis_proc_macros::{define_controller_inputs, EnumDisplay, EnumFromStr};
use jgenesis_proc_macros::{EnumDisplay, EnumFromStr, define_controller_inputs};
define_controller_inputs! {
enum GenesisButton {

View File

@ -8,7 +8,7 @@ pub mod vdp;
pub mod ym2612;
pub use api::{
render_frame, GenesisAspectRatio, GenesisEmulator, GenesisEmulatorConfig, GenesisError,
GenesisRegion, GenesisResult,
GenesisAspectRatio, GenesisEmulator, GenesisEmulatorConfig, GenesisError, GenesisRegion,
GenesisResult, render_frame,
};
pub use input::{GenesisControllerType, GenesisInputs, GenesisJoypadState};

View File

@ -11,9 +11,10 @@ mod timing;
use crate::memory::{Memory, PhysicalMedium};
use crate::vdp::colors::ColorModifier;
use crate::vdp::registers::{
DebugRegister, DmaMode, HorizontalDisplaySize, InterlacingMode, Registers, VerticalDisplaySize,
VramSizeKb, H40_LEFT_BORDER, NTSC_BOTTOM_BORDER, NTSC_TOP_BORDER, PAL_V28_BOTTOM_BORDER,
PAL_V28_TOP_BORDER, PAL_V30_BOTTOM_BORDER, PAL_V30_TOP_BORDER, RIGHT_BORDER,
DebugRegister, DmaMode, H40_LEFT_BORDER, HorizontalDisplaySize, InterlacingMode,
NTSC_BOTTOM_BORDER, NTSC_TOP_BORDER, PAL_V28_BOTTOM_BORDER, PAL_V28_TOP_BORDER,
PAL_V30_BOTTOM_BORDER, PAL_V30_TOP_BORDER, RIGHT_BORDER, Registers, VerticalDisplaySize,
VramSizeKb,
};
use crate::vdp::sprites::{SpriteBuffers, SpriteState};
use crate::vdp::timing::{DmaTracker, FifoTracker, LineType};
@ -1246,15 +1247,12 @@ mod tests {
use super::*;
fn new_vdp() -> Vdp {
Vdp::new(
TimingMode::Ntsc,
VdpConfig {
enforce_sprite_limits: true,
emulate_non_linear_dac: false,
render_vertical_border: false,
render_horizontal_border: false,
},
)
Vdp::new(TimingMode::Ntsc, VdpConfig {
enforce_sprite_limits: true,
emulate_non_linear_dac: false,
render_vertical_border: false,
render_horizontal_border: false,
})
}
#[test]

View File

@ -1,5 +1,5 @@
use crate::vdp;
use crate::vdp::{colors, render, ColorModifier, Vdp};
use crate::vdp::{ColorModifier, Vdp, colors, render};
use crate::vdp::render::PatternGeneratorArgs;
use jgenesis_common::frontend::Color;
@ -19,17 +19,15 @@ impl Vdp {
for col in 0..8 {
let out_idx = base_idx + row * row_len * 8 + col;
let color_id = render::read_pattern_generator(
&self.vram,
PatternGeneratorArgs {
let color_id =
render::read_pattern_generator(&self.vram, PatternGeneratorArgs {
vertical_flip: false,
horizontal_flip: false,
pattern_generator: pattern as u16,
row: row as u16,
col: col as u16,
cell_height: 8,
},
);
});
let color = colors::resolve_color(&self.cram, palette, color_id);
out[out_idx] = parse_gen_color(color);
}

View File

@ -1,10 +1,10 @@
use crate::vdp::colors::ColorModifier;
use crate::vdp::registers::{
DebugRegister, HorizontalDisplaySize, HorizontalScrollMode, InterlacingMode, Plane, Registers,
ScrollSize, VerticalDisplaySize, VerticalScrollMode, RIGHT_BORDER,
DebugRegister, HorizontalDisplaySize, HorizontalScrollMode, InterlacingMode, Plane,
RIGHT_BORDER, Registers, ScrollSize, VerticalDisplaySize, VerticalScrollMode,
};
use crate::vdp::sprites::SpritePixel;
use crate::vdp::{colors, Cram, FrameBuffer, TimingModeExt, Vdp, Vram, Vsram};
use crate::vdp::{Cram, FrameBuffer, TimingModeExt, Vdp, Vram, Vsram, colors};
use jgenesis_common::frontend::TimingMode;
use jgenesis_common::num::GetBit;
use std::cmp;
@ -364,28 +364,22 @@ impl Vdp {
}
}
let scroll_a_color_id = read_pattern_generator(
&self.vram,
PatternGeneratorArgs {
vertical_flip: scroll_a_nt_word.vertical_flip,
horizontal_flip: scroll_a_nt_word.horizontal_flip,
pattern_generator: scroll_a_nt_word.pattern_generator,
row: scrolled_scanline_a,
col: scrolled_pixel_a,
cell_height,
},
);
let scroll_b_color_id = read_pattern_generator(
&self.vram,
PatternGeneratorArgs {
vertical_flip: scroll_b_nt_word.vertical_flip,
horizontal_flip: scroll_b_nt_word.horizontal_flip,
pattern_generator: scroll_b_nt_word.pattern_generator,
row: scrolled_scanline_b,
col: scrolled_pixel_b,
cell_height,
},
);
let scroll_a_color_id = read_pattern_generator(&self.vram, PatternGeneratorArgs {
vertical_flip: scroll_a_nt_word.vertical_flip,
horizontal_flip: scroll_a_nt_word.horizontal_flip,
pattern_generator: scroll_a_nt_word.pattern_generator,
row: scrolled_scanline_a,
col: scrolled_pixel_a,
cell_height,
});
let scroll_b_color_id = read_pattern_generator(&self.vram, PatternGeneratorArgs {
vertical_flip: scroll_b_nt_word.vertical_flip,
horizontal_flip: scroll_b_nt_word.horizontal_flip,
pattern_generator: scroll_b_nt_word.pattern_generator,
row: scrolled_scanline_b,
col: scrolled_pixel_b,
cell_height,
});
let in_window = self.latched_registers.is_in_window(raster_line.line, pixel as u16);
let (window_priority, window_palette, window_color_id) = if in_window {
@ -403,17 +397,14 @@ impl Vdp {
window_v_cell,
window_h_cell,
);
let window_color_id = read_pattern_generator(
&self.vram,
PatternGeneratorArgs {
vertical_flip: window_nt_word.vertical_flip,
horizontal_flip: window_nt_word.horizontal_flip,
pattern_generator: window_nt_word.pattern_generator,
row: raster_line.line,
col: window_pixel,
cell_height,
},
);
let window_color_id = read_pattern_generator(&self.vram, PatternGeneratorArgs {
vertical_flip: window_nt_word.vertical_flip,
horizontal_flip: window_nt_word.horizontal_flip,
pattern_generator: window_nt_word.pattern_generator,
row: raster_line.line,
col: window_pixel,
cell_height,
});
(window_nt_word.priority, window_nt_word.palette, window_color_id)
} else {
(false, 0, 0)
@ -436,10 +427,8 @@ impl Vdp {
(scroll_a_nt_word.priority, scroll_a_nt_word.palette, scroll_a_color_id)
};
let (pixel_color, color_modifier) = determine_pixel_color(
&self.cram,
self.debug_register,
PixelColorArgs {
let (pixel_color, color_modifier) =
determine_pixel_color(&self.cram, self.debug_register, PixelColorArgs {
sprite_priority,
sprite_palette,
sprite_color_id,
@ -453,8 +442,7 @@ impl Vdp {
shadow_highlight_flag: self.latched_registers.shadow_highlight_flag,
in_h_border: !(0..active_display_pixels as i16).contains(&pixel),
in_v_border: raster_line.in_v_border && !self.state.v_border_forgotten,
},
);
});
set_in_frame_buffer(
&mut self.frame_buffer,

View File

@ -1,6 +1,6 @@
use crate::vdp::registers::{HorizontalDisplaySize, InterlacingMode};
use crate::vdp::render::{PatternGeneratorArgs, RasterLine};
use crate::vdp::{render, CachedSpriteData, SpriteData, Vdp};
use crate::vdp::{CachedSpriteData, SpriteData, Vdp, render};
use bincode::{Decode, Encode};
// Sprites with X = $080 display at the left edge of the screen
@ -338,17 +338,14 @@ impl Vdp {
};
let pattern_offset = (sprite_col / 8) * v_size_cells + sprite_row / cell_height;
let color_id = render::read_pattern_generator(
&self.vram,
PatternGeneratorArgs {
vertical_flip: false,
horizontal_flip: false,
pattern_generator: sprite.pattern_generator.wrapping_add(pattern_offset),
row: sprite_row % cell_height,
col: sprite_col % 8,
cell_height,
},
);
let color_id = render::read_pattern_generator(&self.vram, PatternGeneratorArgs {
vertical_flip: false,
horizontal_flip: false,
pattern_generator: sprite.pattern_generator.wrapping_add(pattern_offset),
row: sprite_row % cell_height,
col: sprite_col % 8,
cell_height,
});
let pixel = h_position - SPRITE_H_DISPLAY_START;
if buffers.pixels[pixel as usize].color_id == 0 {

View File

@ -8,11 +8,11 @@ mod lfo;
mod phase;
mod timer;
use crate::GenesisEmulatorConfig;
use crate::ym2612::envelope::EnvelopeGenerator;
use crate::ym2612::lfo::LowFrequencyOscillator;
use crate::ym2612::phase::PhaseGenerator;
use crate::ym2612::timer::{TimerA, TimerB, TimerTickEffect};
use crate::GenesisEmulatorConfig;
use bincode::{Decode, Encode};
use jgenesis_common::num::{GetBit, U16Ext};
use std::array;

View File

@ -1,7 +1,7 @@
use crate::apu::ApuState;
use crate::audio::AudioResampler;
use crate::bus::cartridge::CartridgeFileError;
use crate::bus::{cartridge, Bus};
use crate::bus::{Bus, cartridge};
use crate::cpu::CpuState;
use crate::graphics::TimingModeGraphicsExt;
use crate::input::NesInputs;

View File

@ -1135,7 +1135,7 @@ fn map_palette_address(address: u16) -> usize {
#[cfg(test)]
mod tests {
use crate::api::Overscan;
use crate::bus::{cartridge, Bus};
use crate::bus::{Bus, cartridge};
#[test]
fn randomized_ram_on_startup() {

View File

@ -23,7 +23,7 @@ use crate::bus::cartridge::mappers::namco175::Namco175;
use crate::bus::cartridge::mappers::nrom::{Axrom, Bnrom, Cnrom, Gxrom, Nrom, Uxrom};
use crate::bus::cartridge::mappers::sunsoft::Sunsoft;
use crate::bus::cartridge::mappers::unrom512::Unrom512;
use crate::bus::cartridge::mappers::{unrom512, ChrType, NametableMirroring, PpuMapResult};
use crate::bus::cartridge::mappers::{ChrType, NametableMirroring, PpuMapResult, unrom512};
#[cfg(test)]
pub(crate) use mappers::new_mmc1;

View File

@ -3,7 +3,7 @@
use crate::bus;
use crate::bus::cartridge::mappers::konami::irq::VrcIrqCounter;
use crate::bus::cartridge::mappers::{
konami, BankSizeKb, ChrType, NametableMirroring, PpuMapResult,
BankSizeKb, ChrType, NametableMirroring, PpuMapResult, konami,
};
use crate::bus::cartridge::{HasBasicPpuMapping, MapperImpl};
use bincode::{Decode, Encode};

View File

@ -4,7 +4,7 @@ use crate::apu::units::PhaseTimer;
use crate::bus;
use crate::bus::cartridge::mappers::konami::irq::VrcIrqCounter;
use crate::bus::cartridge::mappers::{
konami, BankSizeKb, ChrType, NametableMirroring, PpuMapResult,
BankSizeKb, ChrType, NametableMirroring, PpuMapResult, konami,
};
use crate::bus::cartridge::{HasBasicPpuMapping, MapperImpl};
use bincode::{Decode, Encode};

View File

@ -6,7 +6,7 @@
use crate::bus;
use crate::bus::cartridge::mappers::konami::irq::VrcIrqCounter;
use crate::bus::cartridge::mappers::{
konami, BankSizeKb, ChrType, NametableMirroring, PpuMapResult,
BankSizeKb, ChrType, NametableMirroring, PpuMapResult, konami,
};
use crate::bus::cartridge::{HasBasicPpuMapping, MapperImpl};
use bincode::{Decode, Encode};

View File

@ -1,7 +1,7 @@
//! Code for the MMC2 and MMC4 boards (iNES mappers 9 + 10).
use crate::bus::cartridge::mappers::{BankSizeKb, CpuMapResult, NametableMirroring};
use crate::bus::cartridge::MapperImpl;
use crate::bus::cartridge::mappers::{BankSizeKb, CpuMapResult, NametableMirroring};
use bincode::{Decode, Encode};
use jgenesis_common::num::GetBit;

View File

@ -7,8 +7,8 @@
//! * NAMCOT-3453 (iNES mapper 154)
use crate::bus;
use crate::bus::cartridge::mappers::{BankSizeKb, ChrType, NametableMirroring, PpuMapResult};
use crate::bus::cartridge::MapperImpl;
use crate::bus::cartridge::mappers::{BankSizeKb, ChrType, NametableMirroring, PpuMapResult};
use bincode::{Decode, Encode};
use jgenesis_common::num::GetBit;

View File

@ -1,7 +1,7 @@
//! Code for the MMC5 board (iNES mapper 5).
use crate::apu::pulse::{PulseChannel, SweepStatus};
use crate::apu::FrameCounter;
use crate::apu::pulse::{PulseChannel, SweepStatus};
use crate::bus::cartridge::mappers::{BankSizeKb, CpuMapResult};
use crate::bus::cartridge::{Cartridge, MapperImpl};
use crate::{apu, bus};

View File

@ -2,8 +2,8 @@
use crate::bus::{CpuBus, PpuRegister};
use bincode::{Decode, Encode};
use mos6502_emu::bus::BusInterface;
use mos6502_emu::Mos6502;
use mos6502_emu::bus::BusInterface;
#[derive(Debug, Clone, Encode, Decode)]
struct OamDmaState {

View File

@ -1,6 +1,6 @@
mod debug;
pub use debug::{copy_nametables, copy_oam, copy_palette_ram, PatternTable};
pub use debug::{PatternTable, copy_nametables, copy_oam, copy_palette_ram};
use crate::api::Overscan;
use crate::ppu;

View File

@ -10,7 +10,7 @@ use genesis_core::memory::{MainBus, MainBusSignals, MainBusWrites, Memory};
use genesis_core::timing::GenesisCycleCounters;
use genesis_core::vdp::{Vdp, VdpTickEffect};
use genesis_core::ym2612::{Ym2612, YmTickEffect};
use genesis_core::{timing, GenesisEmulatorConfig, GenesisInputs, GenesisRegion};
use genesis_core::{GenesisEmulatorConfig, GenesisInputs, GenesisRegion, timing};
use jgenesis_common::frontend::{
AudioOutput, Color, EmulatorTrait, Renderer, SaveWriter, TickEffect, TickResult, TimingMode,
};

View File

@ -6,8 +6,8 @@ use crate::core::{Sdram, Sega32X, SerialInterface};
use crate::pwm::PwmChip;
use crate::registers::{Access, SystemRegisters};
use crate::vdp::Vdp;
use genesis_core::memory::PhysicalMedium;
use genesis_core::GenesisRegion;
use genesis_core::memory::PhysicalMedium;
use jgenesis_common::num::{GetBit, U16Ext};
use sh2_emu::bus::BusInterface;
use std::array;

View File

@ -1,6 +1,6 @@
use bincode::{Decode, Encode};
use genesis_core::memory::eeprom::X24C02Chip;
use genesis_core::memory::SegaMapper;
use genesis_core::memory::eeprom::X24C02Chip;
use jgenesis_common::num::GetBit;
use jgenesis_proc_macros::{FakeDecode, FakeEncode, PartialClone};
use std::ops::Deref;

View File

@ -10,7 +10,7 @@ use crate::pwm::PwmChip;
use crate::registers::SystemRegisters;
use crate::vdp::Vdp;
use bincode::{Decode, Encode};
use genesis_core::{timing, GenesisRegion};
use genesis_core::{GenesisRegion, timing};
use jgenesis_common::frontend::TimingMode;
use jgenesis_proc_macros::PartialClone;
use sh2_emu::Sh2;

View File

@ -7,8 +7,8 @@ use crate::memory;
use crate::memory::{SegaCd, SubBus};
use crate::rf5c164::{PcmTickEffect, Rf5c164};
use bincode::{Decode, Encode};
use cdrom::reader::{CdRom, CdRomFileFormat};
use cdrom::CdRomError;
use cdrom::reader::{CdRom, CdRomFileFormat};
use genesis_core::input::InputState;
use genesis_core::memory::{MainBus, MainBusSignals, MainBusWrites, Memory};
use genesis_core::timing::CycleCounters;

View File

@ -2,8 +2,8 @@
//! the CDC
use crate::memory;
use crate::memory::wordram::{WordRam, WordRamMode};
use crate::memory::ScdCpu;
use crate::memory::wordram::{WordRam, WordRamMode};
use crate::rf5c164::Rf5c164;
use bincode::{Decode, Encode};
use jgenesis_common::num::{GetBit, U16Ext};

View File

@ -7,15 +7,15 @@ pub(crate) mod wordram;
use crate::api::SegaCdLoadResult;
use crate::cddrive::cdc::{DeviceDestination, Rchip};
use crate::cddrive::cdd::CdDrive;
use crate::cddrive::{cdc, CdController, CdTickEffect};
use crate::cddrive::{CdController, CdTickEffect, cdc};
use crate::graphics::GraphicsCoprocessor;
use crate::memory::font::FontRegisters;
use crate::rf5c164::Rf5c164;
use bincode::{Decode, Encode};
use cdrom::cdtime::CdTime;
use cdrom::reader::{CdRom, CdRomFileFormat};
use genesis_core::memory::{Memory, PhysicalMedium};
use genesis_core::GenesisRegion;
use genesis_core::memory::{Memory, PhysicalMedium};
use jgenesis_common::num::{GetBit, U16Ext};
use jgenesis_proc_macros::{FakeDecode, FakeEncode, PartialClone};
use m68000_emu::BusInterface;

View File

@ -6,7 +6,7 @@ use crate::input::InputState;
use crate::memory::Memory;
use crate::psg::{Psg, PsgTickEffect, PsgVersion};
use crate::vdp::{Vdp, VdpBuffer, VdpTickEffect};
use crate::{vdp, SmsGgInputs, VdpVersion};
use crate::{SmsGgInputs, VdpVersion, vdp};
use bincode::{Decode, Encode};
use jgenesis_common::frontend::{
AudioOutput, Color, EmulatorTrait, FrameSize, PartialClone, PixelAspectRatio, Renderer,

View File

@ -1,10 +1,10 @@
//! Implementation of the Z80's bus interface, which connects it to all other components
use crate::VdpVersion;
use crate::input::InputState;
use crate::memory::Memory;
use crate::psg::Psg;
use crate::vdp::Vdp;
use crate::VdpVersion;
use jgenesis_common::num::GetBit;
use ym_opll::Ym2413;
use z80_emu::traits::{BusInterface, InterruptLine};

View File

@ -8,7 +8,7 @@ mod vdp;
pub use api::{SmsGgEmulator, SmsGgEmulatorConfig, SmsGgError, SmsGgResult, SmsRegion};
pub use input::{SmsGgButton, SmsGgInputs, SmsGgJoypadState};
pub use vdp::{gg_color_to_rgb, sms_color_to_rgb, VdpVersion};
pub use vdp::{VdpVersion, gg_color_to_rgb, sms_color_to_rgb};
// 8:7
pub const SMS_NTSC_ASPECT_RATIO: f64 = 1.1428571428571428;

View File

@ -1,4 +1,4 @@
use crate::vdp::{convert_gg_color, convert_sms_color, get_color_id, Vdp, VRAM_SIZE};
use crate::vdp::{VRAM_SIZE, Vdp, convert_gg_color, convert_sms_color, get_color_id};
use jgenesis_common::frontend::Color;

View File

@ -5,7 +5,7 @@
mod functions;
use crate::common;
use crate::common::{impl_take_set_rom, Rom};
use crate::common::{Rom, impl_take_set_rom};
use bincode::{Decode, Encode};
use jgenesis_common::num::{U16Ext, U24Ext};
use jgenesis_proc_macros::PartialClone;

View File

@ -3,7 +3,7 @@
//! Used by 1 game, Metal Combat: Falcon's Revenge
use crate::common;
use crate::common::{impl_take_set_rom, Rom};
use crate::common::{Rom, impl_take_set_rom};
use bincode::{Decode, Encode};
use jgenesis_common::num::GetBit;
use jgenesis_proc_macros::PartialClone;

View File

@ -8,7 +8,7 @@ mod registers;
mod timer;
use crate::common;
use crate::common::{impl_take_set_rom, Rom};
use crate::common::{Rom, impl_take_set_rom};
use crate::sa1::bus::Sa1Bus;
use crate::sa1::mmc::Sa1Mmc;
use crate::sa1::registers::{DmaState, Sa1Registers};

View File

@ -1,8 +1,8 @@
mod dma;
use crate::sa1::Iram;
use crate::sa1::mmc::Sa1Mmc;
use crate::sa1::timer::Sa1Timer;
use crate::sa1::Iram;
use bincode::{Decode, Encode};
use jgenesis_common::num::{GetBit, SignBit, U16Ext, U24Ext};
use std::ops::Range;

View File

@ -1,8 +1,8 @@
use crate::sa1::Iram;
use crate::sa1::mmc::Sa1Mmc;
use crate::sa1::registers::{
CharacterConversionColorBits, DmaDestinationDevice, DmaSourceDevice, DmaState, Sa1Registers,
};
use crate::sa1::Iram;
use jgenesis_common::num::GetBit;
impl Sa1Registers {

View File

@ -5,7 +5,7 @@
mod decompressor;
use crate::common;
use crate::common::{impl_take_set_rom, Rom};
use crate::common::{Rom, impl_take_set_rom};
use crate::sdd1::decompressor::Sdd1Decompressor;
use bincode::{Decode, Encode};
use jgenesis_common::num::GetBit;

View File

@ -6,7 +6,7 @@ mod decompressor;
mod registers;
mod rtc;
use crate::common::{impl_take_set_rom, Rom};
use crate::common::{Rom, impl_take_set_rom};
use crate::spc7110::decompressor::Spc7110Decompressor;
use crate::spc7110::registers::Registers;
use crate::spc7110::rtc::Rtc4513;

View File

@ -14,7 +14,7 @@
mod gsu;
use crate::common;
use crate::common::{impl_take_set_rom, Rom};
use crate::common::{Rom, impl_take_set_rom};
use crate::superfx::gsu::{BusAccess, GraphicsSupportUnit};
use bincode::{Decode, Encode};
use jgenesis_common::num::U16Ext;

View File

@ -1,5 +1,5 @@
use crate::superfx::gsu::instructions::{
clear_prefix_flags, read_register, write_register, MemoryType,
MemoryType, clear_prefix_flags, read_register, write_register,
};
use crate::superfx::gsu::{GraphicsSupportUnit, MultiplierSpeed};
use jgenesis_common::num::{GetBit, SignBit};

View File

@ -1,7 +1,7 @@
use crate::superfx::gsu::instructions::{
clear_prefix_flags, read_register, write_register, MemoryType,
};
use crate::superfx::gsu::GraphicsSupportUnit;
use crate::superfx::gsu::instructions::{
MemoryType, clear_prefix_flags, read_register, write_register,
};
use jgenesis_common::num::{GetBit, SignBit};
pub(super) fn from(

View File

@ -1,8 +1,8 @@
use crate::superfx::gsu::instructions::{
clear_prefix_flags, fetch_opcode, fill_cache_from_pc, fill_cache_to_pc, read_register,
MemoryType,
};
use crate::superfx::gsu::GraphicsSupportUnit;
use crate::superfx::gsu::instructions::{
MemoryType, clear_prefix_flags, fetch_opcode, fill_cache_from_pc, fill_cache_to_pc,
read_register,
};
use jgenesis_common::num::SignBit;
pub(super) fn link(opcode: u8, memory_type: MemoryType, gsu: &mut GraphicsSupportUnit) -> u8 {

View File

@ -1,5 +1,5 @@
use crate::superfx::gsu::instructions::{
clear_prefix_flags, fetch_opcode, read_register, write_register, MemoryType,
MemoryType, clear_prefix_flags, fetch_opcode, read_register, write_register,
};
use crate::superfx::gsu::{ClockSpeed, GraphicsSupportUnit};
use jgenesis_common::num::{SignBit, U16Ext};

View File

@ -1,5 +1,5 @@
use crate::superfx::gsu::instructions::{
clear_prefix_flags, read_register, write_register, MemoryType,
MemoryType, clear_prefix_flags, read_register, write_register,
};
use crate::superfx::gsu::{ClockSpeed, GraphicsSupportUnit, ScreenHeight};
use bincode::{Decode, Encode};

View File

@ -13,8 +13,8 @@ use crate::constants;
use bincode::{Decode, Encode};
use jgenesis_common::frontend::TimingMode;
use jgenesis_common::num::GetBit;
use spc700_emu::traits::BusInterface;
use spc700_emu::Spc700;
use spc700_emu::traits::BusInterface;
const AUDIO_RAM_LEN: usize = 64 * 1024;

View File

@ -4,8 +4,8 @@ mod interpolate;
mod tables;
use crate::api::AudioInterpolationMode;
use crate::apu::dsp::interpolate::InterpolateArgs;
use crate::apu::AudioRam;
use crate::apu::dsp::interpolate::InterpolateArgs;
use bincode::{Decode, Encode};
use jgenesis_common::num::{GetBit, U16Ext};
use std::array;

View File

@ -1,6 +1,6 @@
use crate::ppu;
use crate::ppu::registers::{BgMode, BitsPerPixel, Registers, TileSize};
use crate::ppu::Ppu;
use crate::ppu::registers::{BgMode, BitsPerPixel, Registers, TileSize};
use jgenesis_common::frontend::Color;
use jgenesis_common::num::GetBit;

View File

@ -11,12 +11,10 @@ use std::{array, cmp};
type FixedPatches = [[u8; 8]; 15];
// Tables from https://www.smspower.org/Development/YM2413ReverseEngineeringNotes2015-03-20
const ENVELOPE_INCREMENT_TABLES: [[u8; 8]; 4] = [
[0, 1, 0, 1, 0, 1, 0, 1],
[0, 1, 0, 1, 1, 1, 0, 1],
[0, 1, 1, 1, 0, 1, 1, 1],
[0, 1, 1, 1, 1, 1, 1, 1],
];
const ENVELOPE_INCREMENT_TABLES: [[u8; 8]; 4] =
[[0, 1, 0, 1, 0, 1, 0, 1], [0, 1, 0, 1, 1, 1, 0, 1], [0, 1, 1, 1, 0, 1, 1, 1], [
0, 1, 1, 1, 1, 1, 1, 1,
]];
// Numbers are multiplied by 2 here - need to divide by 2 after multiplying
const MULTIPLIER_TABLE: [u32; 16] = [1, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 20, 24, 24, 30, 30];

View File

@ -2,9 +2,9 @@
use crate::cdtime::CdTime;
use crate::cue::{CueSheet, Track, TrackMode, TrackType};
use crate::{cue, CdRomError, CdRomResult};
use chd::iter::LendingIterator;
use crate::{CdRomError, CdRomResult, cue};
use chd::Chd;
use chd::iter::LendingIterator;
use std::fmt::{Debug, Formatter};
use std::io::{Read, Seek};

View File

@ -2,7 +2,7 @@
use crate::cdtime::CdTime;
use crate::cue::{CueSheet, Track, TrackMode, TrackType};
use crate::{cue, CdRomError, CdRomResult};
use crate::{CdRomError, CdRomResult, cue};
use bincode::{Decode, Encode};
use regex::Regex;
use std::collections::{HashMap, HashSet};

View File

@ -1,6 +1,6 @@
use proc_macro::TokenStream;
use quote::quote;
use syn::{parse_quote, Data, DeriveInput, Type};
use syn::{Data, DeriveInput, Type, parse_quote};
pub fn config_display(input: TokenStream) -> TokenStream {
let input: DeriveInput = syn::parse(input).expect("Unable to parse input");

View File

@ -4,7 +4,7 @@ use proc_macro2::{Ident, TokenStream};
use quote::{format_ident, quote};
use syn::parse::{Parse, ParseStream};
use syn::punctuated::Punctuated;
use syn::{braced, parse_macro_input, Field, Token, Type, Variant};
use syn::{Field, Token, Type, Variant, braced, parse_macro_input};
struct ButtonEnum {
name: Ident,

View File

@ -1,6 +1,6 @@
use proc_macro::TokenStream;
use quote::{format_ident, quote};
use syn::{parse_quote, Data, DataEnum, DataStruct, DeriveInput, Field, Fields};
use syn::{Data, DataEnum, DataStruct, DeriveInput, Field, Fields, parse_quote};
pub fn partial_clone(input: TokenStream) -> TokenStream {
let input: DeriveInput = syn::parse(input).expect("Unable to parse input");

View File

@ -3,9 +3,9 @@
use clap::Parser;
use env_logger::Env;
use flate2::read::GzDecoder;
use m68000_emu::M68000;
use m68000_emu::bus::InMemoryBus;
use m68000_emu::traits::BusInterface;
use m68000_emu::M68000;
use serde::{Deserialize, Serialize};
use std::ffi::OsStr;
use std::fs::File;
@ -94,11 +94,9 @@ impl State {
}
fn diff(&self, expected: &Self) {
diff_fields!(
self,
expected,
[d0, d1, d2, d3, d4, d5, d6, d7, a0, a1, a2, a3, a4, a5, a6, usp, ssp, sr, pc]
);
diff_fields!(self, expected, [
d0, d1, d2, d3, d4, d5, d6, d7, a0, a1, a2, a3, a4, a5, a6, usp, ssp, sr, pc
]);
if self.ram != expected.ram {
log::info!(" ram:");

View File

@ -3,7 +3,7 @@ use bincode::{Decode, Encode};
use jgenesis_common::num::{GetBit, SignBit};
use crate::bus::BusInterface;
use crate::{CpuRegisters, Mos6502, StatusFlags, StatusReadContext, IRQ_VECTOR, NMI_VECTOR};
use crate::{CpuRegisters, IRQ_VECTOR, Mos6502, NMI_VECTOR, StatusFlags, StatusReadContext};
#[derive(Debug, Clone, Encode, Decode)]
pub struct InstructionState {

View File

@ -2,8 +2,8 @@
//!
//! Has 2 DMA channels that can transfer data between memory regions in parallel to CPU execution
use crate::bus::BusInterface;
use crate::Sh2;
use crate::bus::BusInterface;
use bincode::{Decode, Encode};
use jgenesis_common::num::GetBit;
use std::array;

View File

@ -5,8 +5,8 @@ mod bits;
mod branch;
mod load;
use crate::bus::BusInterface;
use crate::Sh2;
use crate::bus::BusInterface;
pub fn execute<B: BusInterface>(cpu: &mut Sh2, opcode: u16, bus: &mut B) {
match opcode {

View File

@ -1,8 +1,8 @@
//! SH-2 arithmetic instructions
use crate::Sh2;
use crate::bus::BusInterface;
use crate::instructions::{rm, rn};
use crate::Sh2;
use jgenesis_common::num::SignBit;
// ADD Rm, Rn

View File

@ -1,8 +1,8 @@
//! SH-2 logical and bitwise instructions
use crate::Sh2;
use crate::bus::BusInterface;
use crate::instructions::{rm, rn};
use crate::Sh2;
use jgenesis_common::num::GetBit;
// AND Rm, Rn

View File

@ -2,7 +2,7 @@
use crate::bus::BusInterface;
use crate::instructions::rn;
use crate::{Sh2, SP};
use crate::{SP, Sh2};
// JMP @Rm
// Unconditional jump

View File

@ -1,8 +1,8 @@
//! SH-2 load and store instructions
use crate::bus::BusInterface;
use crate::instructions::{extend_i16, extend_i8, rm, rn};
use crate::Sh2;
use crate::bus::BusInterface;
use crate::instructions::{extend_i8, extend_i16, rm, rn};
// MOV Rm, Rn
// Load from a register

View File

@ -3,7 +3,7 @@
use crate::dma::DmaController;
use crate::sci::SerialInterface;
use crate::wdt::WatchdogTimer;
use crate::{Sh2, RESET_INTERRUPT_MASK};
use crate::{RESET_INTERRUPT_MASK, Sh2};
use bincode::{Decode, Encode};
use jgenesis_common::num::{GetBit, U16Ext};
@ -598,16 +598,13 @@ fn log_bus_control_write(address: u32, value: u32) {
log::trace!(" RAS precharge time: {}", if value.bit(15) { 2 } else { 1 });
log::trace!(" RAS-CAS delay: {}", if value.bit(14) { 2 } else { 1 });
log::trace!(" Write precharge delay: {}", if value.bit(13) { 2 } else { 1 });
log::trace!(
" CAS-before-RAS refresh RAS assert time: {}",
match (value >> 11) & 3 {
0 => "2 cycles",
1 => "3 cycles",
2 => "4 cycles",
3 => "(Reserved)",
_ => unreachable!(),
}
);
log::trace!(" CAS-before-RAS refresh RAS assert time: {}", match (value >> 11) & 3 {
0 => "2 cycles",
1 => "3 cycles",
2 => "4 cycles",
3 => "(Reserved)",
_ => unreachable!(),
});
log::trace!(" Burst enabled: {}", value.bit(10));
log::trace!(" RAS down mode enabled: {}", value.bit(9));
log::trace!(

View File

@ -123,16 +123,13 @@ impl SerialInterface {
log::debug!(" Parity mode odd/even flag: {}", value.bit(4));
log::debug!(" Stop bit length bit: {}", value.bit(3));
log::debug!(" Multiprocessor mode: {}", value.bit(2));
log::debug!(
" Clock select: {}",
match value & 3 {
0 => "sysclk/4",
1 => "sysclk/16",
2 => "sysclk/64",
3 => "sysclk/256",
_ => unreachable!(),
}
);
log::debug!(" Clock select: {}", match value & 3 {
0 => "sysclk/4",
1 => "sysclk/16",
2 => "sysclk/64",
3 => "sysclk/256",
_ => unreachable!(),
});
}
// $FFFFFE01: BRR (Bit rate)

View File

@ -5,8 +5,8 @@ mod flags;
mod flow;
mod load;
use crate::traits::BusInterface;
use crate::Spc700;
use crate::traits::BusInterface;
use jgenesis_common::num::{GetBit, SignBit};
fn fetch_operand<B: BusInterface>(cpu: &mut Spc700, bus: &mut B) -> u8 {

View File

@ -6,7 +6,7 @@ mod jump;
mod load;
mod mnemonics;
use crate::core::{IndexRegister, InterruptMode, Register16, Register8, Registers};
use crate::core::{IndexRegister, InterruptMode, Register8, Register16, Registers};
use crate::traits::{BusInterface, InterruptLine};
use jgenesis_common::num::GetBit;

View File

@ -1,5 +1,5 @@
use crate::core::instructions::{
parity_flag, sign_flag, zero_flag, BlockMode, InstructionExecutor,
BlockMode, InstructionExecutor, parity_flag, sign_flag, zero_flag,
};
use crate::core::{Flags, IndexRegister, Register16};
use crate::traits::BusInterface;

View File

@ -1,4 +1,4 @@
use crate::core::instructions::{parity_flag, sign_flag, zero_flag, InstructionExecutor};
use crate::core::instructions::{InstructionExecutor, parity_flag, sign_flag, zero_flag};
use crate::core::{Flags, IndexRegister, Register16, Registers};
use crate::traits::BusInterface;
use jgenesis_common::num::GetBit;

View File

@ -1,5 +1,5 @@
use crate::core::instructions::InstructionExecutor;
use crate::core::InterruptMode;
use crate::core::instructions::InstructionExecutor;
use crate::traits::BusInterface;
pub(super) const fn nop() -> u32 {

View File

@ -1,5 +1,5 @@
use crate::core::instructions::{
parity_flag, sign_flag, zero_flag, BlockMode, InstructionExecutor,
BlockMode, InstructionExecutor, parity_flag, sign_flag, zero_flag,
};
use crate::core::{Flags, Register16};
use crate::traits::BusInterface;

View File

@ -1,5 +1,5 @@
use crate::core::instructions::{sign_flag, zero_flag, BlockMode, InstructionExecutor};
use crate::core::{Flags, IndexRegister, Register16, Register8};
use crate::core::instructions::{BlockMode, InstructionExecutor, sign_flag, zero_flag};
use crate::core::{Flags, IndexRegister, Register8, Register16};
use crate::traits::BusInterface;
use std::mem;

View File

@ -5,8 +5,8 @@ use std::error::Error;
use std::io::Write;
use std::path::Path;
use std::{env, fs, io, process};
use z80_emu::traits::{BusInterface, InterruptLine};
use z80_emu::Z80;
use z80_emu::traits::{BusInterface, InterruptLine};
// This is an I/O routine that emulates the CP/M's $05 syscall, which does the following:
//

View File

@ -5,8 +5,8 @@ use env_logger::Env;
use gb_core::api::{GbAspectRatio, GbPalette, GbcColorCorrection};
use genesis_core::{GenesisAspectRatio, GenesisControllerType, GenesisRegion};
use jgenesis_common::frontend::{EmulatorTrait, TimingMode};
use jgenesis_native_config::smsgg::SmsModel;
use jgenesis_native_config::AppConfig;
use jgenesis_native_config::smsgg::SmsModel;
use jgenesis_native_driver::config::input::{NesControllerType, SnesControllerType};
use jgenesis_native_driver::config::{GgAspectRatio, SmsAspectRatio};
use jgenesis_native_driver::input::MappableInputs;
@ -18,8 +18,8 @@ use jgenesis_renderer::config::{
use jgenesis_renderer::renderer::RendererError;
use nes_core::api::NesAspectRatio;
use s32x_core::api::S32XVideoOut;
use smsgg_core::psg::PsgVersion;
use smsgg_core::SmsRegion;
use smsgg_core::psg::PsgVersion;
use snes_core::api::{AudioInterpolationMode, SnesAspectRatio};
use std::error::Error;
use std::ffi::OsStr;
@ -523,18 +523,14 @@ impl Args {
config.inputs.snes_p2_type = p2_controller_type;
}
apply_path_overrides!(
self,
config.snes,
[
dsp1_rom_path,
dsp2_rom_path,
dsp3_rom_path,
dsp4_rom_path,
st010_rom_path,
st011_rom_path,
]
);
apply_path_overrides!(self, config.snes, [
dsp1_rom_path,
dsp2_rom_path,
dsp3_rom_path,
dsp4_rom_path,
st010_rom_path,
st011_rom_path,
]);
}
fn apply_gb_overrides(&self, config: &mut AppConfig) {
@ -556,19 +552,15 @@ impl Args {
config.common.launch_in_fullscreen = true;
}
apply_overrides!(
self,
config.common,
[
wgpu_backend,
vsync_mode,
auto_prescale,
scanlines,
force_integer_height_scaling,
filter_mode,
preprocess_shader,
]
);
apply_overrides!(self, config.common, [
wgpu_backend,
vsync_mode,
auto_prescale,
scanlines,
force_integer_height_scaling,
filter_mode,
preprocess_shader,
]);
if let Some(prescale_factor) = self.prescale_factor {
config.common.prescale_factor =
@ -577,25 +569,20 @@ impl Args {
}
fn apply_audio_overrides(&self, config: &mut AppConfig) {
apply_overrides!(
self,
config.common,
[
audio_sync,
audio_device_queue_size,
internal_audio_buffer_size,
audio_sync_threshold,
audio_gain_db,
]
);
apply_overrides!(self, config.common, [
audio_sync,
audio_device_queue_size,
internal_audio_buffer_size,
audio_sync_threshold,
audio_gain_db,
]);
}
fn apply_hotkey_overrides(&self, config: &mut AppConfig) {
apply_overrides!(
self,
config.common,
[fast_forward_multiplier, rewind_buffer_length_seconds]
);
apply_overrides!(self, config.common, [
fast_forward_multiplier,
rewind_buffer_length_seconds
]);
}
}

View File

@ -16,8 +16,9 @@ use eframe::{Frame, Theme};
use egui::ahash::HashMap;
use egui::panel::TopBottomSide;
use egui::{
menu, Align, Button, CentralPanel, Color32, Context, Key, KeyboardShortcut, Layout, Modifiers,
Align, Button, CentralPanel, Color32, Context, Key, KeyboardShortcut, Layout, Modifiers,
Response, Style, TextEdit, TopBottomPanel, Ui, Vec2, ViewportCommand, Visuals, Widget, Window,
menu,
};
use egui_extras::{Column, TableBuilder};
use jgenesis_native_config::{AppConfig, EguiTheme, ListFilters, RecentOpen};
@ -31,7 +32,7 @@ use std::str::FromStr;
use std::sync::{Arc, Mutex};
use time::util::local_offset;
use time::util::local_offset::Soundness;
use time::{format_description, OffsetDateTime, UtcOffset};
use time::{OffsetDateTime, UtcOffset, format_description};
trait ListFiltersExt {
fn to_console_vec(&self) -> Vec<Console>;

View File

@ -2,8 +2,8 @@ use crate::app::{App, NumericTextEdit, OpenWindow};
use crate::emuthread::{EmuThreadCommand, GenericInput, InputType};
use egui::{Color32, Context, Grid, Slider, Ui, Window};
use gb_core::inputs::GameBoyButton;
use genesis_core::input::GenesisButton;
use genesis_core::GenesisControllerType;
use genesis_core::input::GenesisButton;
use jgenesis_common::input::Player;
use jgenesis_native_config::input::InputAppConfig;
use jgenesis_native_driver::config::input::{

View File

@ -7,7 +7,7 @@ use std::path::Path;
use std::str::FromStr;
use std::sync::atomic::{AtomicU32, Ordering};
use std::sync::mpsc::Sender;
use std::sync::{mpsc, Arc, LazyLock, Mutex};
use std::sync::{Arc, LazyLock, Mutex, mpsc};
use std::{fs, io, thread};
pub const ALL_EXTENSIONS: &[&str] =

View File

@ -6,8 +6,8 @@ use egui::{Context, Window};
use jgenesis_common::frontend::TimingMode;
use jgenesis_native_config::smsgg::SmsModel;
use jgenesis_native_driver::config::{GgAspectRatio, SmsAspectRatio};
use smsgg_core::psg::PsgVersion;
use smsgg_core::SmsRegion;
use smsgg_core::psg::PsgVersion;
impl App {
pub(super) fn render_smsgg_general_settings(&mut self, ctx: &Context) {

View File

@ -21,7 +21,7 @@ use segacd_core::api::SegaCdLoadResult;
use std::path::PathBuf;
use std::sync::atomic::{AtomicU8, Ordering};
use std::sync::mpsc::{Receiver, Sender, TryRecvError};
use std::sync::{mpsc, Arc, Mutex, MutexGuard};
use std::sync::{Arc, Mutex, MutexGuard, mpsc};
use std::thread;
use std::time::Duration;

View File

@ -5,8 +5,8 @@ use std::io;
use std::io::{BufReader, Read};
use std::path::Path;
use thiserror::Error;
use zip::result::ZipError;
use zip::ZipArchive;
use zip::result::ZipError;
#[derive(Debug, Error)]
pub enum ArchiveError {

View File

@ -6,7 +6,7 @@ use crate::config::input::{
SuperScopeConfig, ZapperConfig,
};
use crate::mainloop::NativeEmulatorError;
use crate::{archive, NativeEmulatorResult};
use crate::{NativeEmulatorResult, archive};
use gb_core::api::{GameBoyEmulatorConfig, GbAspectRatio, GbPalette, GbcColorCorrection};
use genesis_core::{
GenesisAspectRatio, GenesisControllerType, GenesisEmulatorConfig, GenesisRegion,

View File

@ -5,17 +5,17 @@ use crate::config::input::{
};
use crate::mainloop::{NativeEmulatorError, NativeEmulatorResult};
use gb_core::inputs::{GameBoyButton, GameBoyInputs};
use genesis_core::input::GenesisButton;
use genesis_core::GenesisInputs;
use genesis_core::input::GenesisButton;
use jgenesis_common::frontend::FrameSize;
use jgenesis_common::input::Player;
use jgenesis_renderer::renderer::DisplayArea;
use nes_core::input::{NesButton, NesInputDevice, NesInputs, NesJoypadState, ZapperState};
use sdl2::JoystickSubsystem;
use sdl2::event::{Event, WindowEvent};
use sdl2::joystick::{HatState, Joystick};
use sdl2::keyboard::Keycode;
use sdl2::mouse::MouseButton;
use sdl2::JoystickSubsystem;
use smsgg_core::{SmsGgButton, SmsGgInputs};
use snes_core::input::{
SnesButton, SnesControllerButton, SnesInputDevice, SnesInputs, SnesJoypadState,

View File

@ -4,9 +4,9 @@ pub mod input;
mod mainloop;
pub use mainloop::{
AudioError, Native32XEmulator, NativeEmulator, NativeEmulatorResult, NativeGameBoyEmulator,
NativeGenesisEmulator, NativeNesEmulator, NativeSegaCdEmulator, NativeSmsGgEmulator,
NativeSnesEmulator, NativeTickEffect, SAVE_STATE_SLOTS, SaveStateMetadata, SaveWriteError,
all_supported_extensions, create_32x, create_gb, create_genesis, create_nes, create_sega_cd,
create_smsgg, create_snes, AudioError, Native32XEmulator, NativeEmulator, NativeEmulatorResult,
NativeGameBoyEmulator, NativeGenesisEmulator, NativeNesEmulator, NativeSegaCdEmulator,
NativeSmsGgEmulator, NativeSnesEmulator, NativeTickEffect, SaveStateMetadata, SaveWriteError,
SAVE_STATE_SLOTS,
create_smsgg, create_snes,
};

View File

@ -9,15 +9,15 @@ mod smsgg;
mod snes;
mod state;
pub use gb::{create_gb, NativeGameBoyEmulator};
pub use gb::{NativeGameBoyEmulator, create_gb};
pub use genesis::{
create_32x, create_genesis, create_sega_cd, Native32XEmulator, NativeGenesisEmulator,
NativeSegaCdEmulator,
Native32XEmulator, NativeGenesisEmulator, NativeSegaCdEmulator, create_32x, create_genesis,
create_sega_cd,
};
pub use nes::{create_nes, NativeNesEmulator};
pub use smsgg::{create_smsgg, NativeSmsGgEmulator};
pub use snes::{create_snes, NativeSnesEmulator};
pub use state::{SaveStateMetadata, SAVE_STATE_SLOTS};
pub use nes::{NativeNesEmulator, create_nes};
pub use smsgg::{NativeSmsGgEmulator, create_smsgg};
pub use snes::{NativeSnesEmulator, create_snes};
pub use state::{SAVE_STATE_SLOTS, SaveStateMetadata};
use crate::archive::ArchiveError;
use crate::config::input::{InputConfig, JoystickInput, KeyboardInput};

View File

@ -1,7 +1,7 @@
use crate::config::CommonConfig;
use jgenesis_common::frontend::AudioOutput;
use sdl2::audio::{AudioQueue, AudioSpecDesired};
use sdl2::AudioSubsystem;
use sdl2::audio::{AudioQueue, AudioSpecDesired};
use thiserror::Error;
#[derive(Debug, Error)]
@ -29,14 +29,11 @@ impl SdlAudioOutput {
config: &CommonConfig<KC, JC>,
) -> Result<Self, AudioError> {
let audio_queue = audio
.open_queue(
None,
&AudioSpecDesired {
freq: Some(48000),
channels: Some(2),
samples: Some(config.audio_device_queue_size),
},
)
.open_queue(None, &AudioSpecDesired {
freq: Some(48000),
channels: Some(2),
samples: Some(config.audio_device_queue_size),
})
.map_err(AudioError::OpenQueue)?;
audio_queue.resume();
@ -68,14 +65,11 @@ impl SdlAudioOutput {
let new_audio_queue = self
.audio_queue
.subsystem()
.open_queue(
None,
&AudioSpecDesired {
freq: Some(48000),
channels: Some(2),
samples: Some(config.audio_device_queue_size),
},
)
.open_queue(None, &AudioSpecDesired {
freq: Some(48000),
channels: Some(2),
samples: Some(config.audio_device_queue_size),
})
.map_err(AudioError::OpenQueue)?;
self.audio_queue = new_audio_queue;
self.audio_queue.resume();

View File

@ -9,13 +9,13 @@ use sdl2::event::{Event, WindowEvent};
use egui::{Button, Response, Ui, Widget, WidgetText};
use egui_wgpu::ScreenDescriptor;
use sdl2::video::{Window, WindowBuildError};
use sdl2::VideoSubsystem;
use sdl2::video::{Window, WindowBuildError};
use std::iter;
use std::time::SystemTime;
use thiserror::Error;
use wgpu::rwh::HandleError;
use wgpu::SurfaceTargetUnsafe;
use wgpu::rwh::HandleError;
#[derive(Debug, Error)]
pub enum DebuggerError {

View File

@ -19,10 +19,10 @@ impl Platform {
let context = egui::Context::default();
let mut viewports = ViewportIdMap::new();
viewports.insert(
context.viewport_id(),
ViewportInfo { native_pixels_per_point: Some(scale_factor), ..ViewportInfo::default() },
);
viewports.insert(context.viewport_id(), ViewportInfo {
native_pixels_per_point: Some(scale_factor),
..ViewportInfo::default()
});
let (width, height) = window.size();
let raw_input = egui::RawInput {

View File

@ -2,7 +2,7 @@ use crate::config::GameBoyConfig;
use crate::config::RomReadResult;
use crate::mainloop::save::FsSaveWriter;
use crate::mainloop::{basic_input_mapper_fn, debug, file_name_no_ext};
use crate::{config, AudioError, NativeEmulator, NativeEmulatorResult};
use crate::{AudioError, NativeEmulator, NativeEmulatorResult, config};
use gb_core::api::{GameBoyEmulator, GameBoyEmulatorConfig};
use gb_core::inputs::{GameBoyButton, GameBoyInputs};
use jgenesis_common::frontend::EmulatorTrait;

View File

@ -1,14 +1,14 @@
use crate::config::RomReadResult;
use crate::config::{GenesisConfig, Sega32XConfig, SegaCdConfig};
use crate::mainloop::save::FsSaveWriter;
use crate::mainloop::{basic_input_mapper_fn, debug, NativeEmulatorError};
use crate::{config, AudioError, NativeEmulator, NativeEmulatorResult};
use crate::mainloop::{NativeEmulatorError, basic_input_mapper_fn, debug};
use crate::{AudioError, NativeEmulator, NativeEmulatorResult, config};
use genesis_core::input::GenesisButton;
use genesis_core::{GenesisEmulator, GenesisEmulatorConfig, GenesisInputs};
use jgenesis_common::frontend::EmulatorTrait;
use s32x_core::api::{Sega32XEmulator, Sega32XEmulatorConfig};
use segacd_core::api::{SegaCdEmulator, SegaCdEmulatorConfig, SegaCdLoadResult};
use segacd_core::CdRomFileFormat;
use segacd_core::api::{SegaCdEmulator, SegaCdEmulatorConfig, SegaCdLoadResult};
use std::fs;
use std::path::Path;

View File

@ -2,7 +2,7 @@ use crate::config::{CommonConfig, NesConfig};
use crate::mainloop::save::FsSaveWriter;
use crate::mainloop::{debug, file_name_no_ext};
use crate::{config, AudioError, NativeEmulator, NativeEmulatorResult};
use crate::{AudioError, NativeEmulator, NativeEmulatorResult, config};
use jgenesis_common::frontend::EmulatorTrait;
use nes_core::api::{NesEmulator, NesEmulatorConfig};

View File

@ -2,7 +2,7 @@ use crate::config::SmsGgConfig;
use crate::mainloop::save::FsSaveWriter;
use crate::mainloop::{basic_input_mapper_fn, debug, file_name_no_ext};
use crate::{config, AudioError, NativeEmulator, NativeEmulatorResult};
use crate::{AudioError, NativeEmulator, NativeEmulatorResult, config};
use jgenesis_common::frontend::EmulatorTrait;
use crate::config::RomReadResult;

View File

@ -3,7 +3,7 @@ use crate::input::InputMapper;
use crate::mainloop::debug;
use crate::mainloop::save::FsSaveWriter;
use crate::{config, AudioError, NativeEmulator, NativeEmulatorResult};
use crate::{AudioError, NativeEmulator, NativeEmulatorResult, config};
use jgenesis_common::frontend::EmulatorTrait;
use crate::config::RomReadResult;

Some files were not shown because too many files have changed in this diff Show More