Skip to content

Commit ced3049

Browse files
committed
WIP
1 parent bd19a98 commit ced3049

File tree

11 files changed

+237
-131
lines changed

11 files changed

+237
-131
lines changed

Cargo.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,9 @@ debug = true
6363

6464
[profile.release.package."*"]
6565
opt-level = 3
66+
#debug = 1
6667

6768
[profile.release]
6869
panic = "abort"
6970
lto = "fat"
71+
#debug = 1

src/cartridge_io.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ pub struct CartridgeIo {
8484
pub file_name: String,
8585
pub file_size: u32,
8686
pub header: CartridgeHeader,
87-
content_pages: UnsafeCell<NoHashMap<u32, HeapMemU8<{ PAGE_SIZE * 4 }>>>,
87+
content_pages: UnsafeCell<NoHashMap<u32, HeapMemU8<{ PAGE_SIZE }>>>,
8888
save_file_path: PathBuf,
8989
pub save_file_size: u32,
9090
save_buf: Mutex<(Vec<u8>, bool)>,
@@ -136,13 +136,13 @@ impl CartridgeIo {
136136
})
137137
}
138138

139-
fn get_page(&self, page_addr: u32) -> io::Result<*const [u8; PAGE_SIZE * 4]> {
140-
debug_assert_eq!(page_addr & ((PAGE_SIZE * 4) as u32 - 1), 0);
139+
fn get_page(&self, page_addr: u32) -> io::Result<*const [u8; PAGE_SIZE]> {
140+
debug_assert_eq!(page_addr & (PAGE_SIZE as u32 - 1), 0);
141141
let pages = unsafe { self.content_pages.get().as_mut_unchecked() };
142142
match pages.get(&page_addr) {
143143
None => {
144144
// exceeds 8MB
145-
if pages.len() >= 512 {
145+
if pages.len() >= 2048 {
146146
debug_println!("clear cartridge pages");
147147
pages.clear();
148148
}
@@ -162,7 +162,7 @@ impl CartridgeIo {
162162
while remaining > 0 {
163163
let slice_start = slice.len() - remaining;
164164

165-
let page_addr = (offset + slice_start as u32) & !((PAGE_SIZE * 4) as u32 - 1);
165+
let page_addr = (offset + slice_start as u32) & !(PAGE_SIZE as u32 - 1);
166166
let page_offset = offset + slice_start as u32 - page_addr;
167167
let page = match self.get_page(page_addr) {
168168
Ok(page) => page,

0 commit comments

Comments
 (0)