Compare commits
2 Commits
1440cd1fc7
...
64230973f1
Author | SHA1 | Date |
---|---|---|
Rekai Nyangadzayi Musuka | 64230973f1 | |
Rekai Nyangadzayi Musuka | dbbf87af52 |
|
@ -15,11 +15,11 @@
|
||||||
* [ ] MBC1M
|
* [ ] MBC1M
|
||||||
* [x] MBC2
|
* [x] MBC2
|
||||||
* [x] MBC5
|
* [x] MBC5
|
||||||
|
* Implements a cycle-accurate PPU FIFO
|
||||||
|
* Doesn't \*exactly\* work right just yet
|
||||||
|
|
||||||
Supports: ROM-only, MBC1, MBC2, MBC3 and MBC5 games.
|
Supports: ROM-only, MBC1, MBC2, MBC3 and MBC5 games.
|
||||||
|
|
||||||
* Implements a cycle-accurate PPU FIFO
|
|
||||||
* Doesn't \*exactly\* work right just yet
|
|
||||||
|
|
||||||
|
|
||||||
### Controls
|
### Controls
|
||||||
|
@ -33,3 +33,6 @@ Key | Button
|
||||||
<kbd>Shift</kbd> | SELECT
|
<kbd>Shift</kbd> | SELECT
|
||||||
|
|
||||||
Then use the Arrow keys for the D-Pad
|
Then use the Arrow keys for the D-Pad
|
||||||
|
|
||||||
|
### Credits
|
||||||
|
The Boot ROM found in the `bin/` directory was made by [Optix](https://github.com/Hacktix) over [here](https://github.com/Hacktix/Bootix)
|
Binary file not shown.
|
@ -15,6 +15,7 @@ pub struct Cpu {
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Cpu {
|
impl Cpu {
|
||||||
|
#[allow(dead_code)]
|
||||||
pub(crate) fn without_boot() -> Self {
|
pub(crate) fn without_boot() -> Self {
|
||||||
Self {
|
Self {
|
||||||
reg: Registers {
|
reg: Registers {
|
||||||
|
|
|
@ -160,7 +160,7 @@ pub mod build {
|
||||||
pub fn finish(mut self) -> Emulator {
|
pub fn finish(mut self) -> Emulator {
|
||||||
let mut emu = Emulator::new(match self.boot {
|
let mut emu = Emulator::new(match self.boot {
|
||||||
Some(rom) => Cpu::with_boot(rom),
|
Some(rom) => Cpu::with_boot(rom),
|
||||||
None => Cpu::without_boot(),
|
None => Cpu::with_boot(*include_bytes!("../bin/bootix_dmg.bin")),
|
||||||
});
|
});
|
||||||
|
|
||||||
if let Some(rom) = self.cart.take() {
|
if let Some(rom) = self.cart.take() {
|
||||||
|
|
|
@ -418,6 +418,7 @@ impl Ppu {
|
||||||
self.frame_buf.swap_with_slice(&mut blank);
|
self.frame_buf.swap_with_slice(&mut blank);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[inline]
|
||||||
pub(crate) fn frame_buf(&self) -> &[u8; GB_HEIGHT * GB_WIDTH * 4] {
|
pub(crate) fn frame_buf(&self) -> &[u8; GB_HEIGHT * GB_WIDTH * 4] {
|
||||||
&self.frame_buf
|
&self.frame_buf
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue