Partial PPU implementation
This commit is contained in:
@@ -4,3 +4,7 @@ AGENTS/
|
|||||||
AGENTS.md
|
AGENTS.md
|
||||||
Cargo.lock
|
Cargo.lock
|
||||||
renders/
|
renders/
|
||||||
|
renders_saved/
|
||||||
|
debug_out/*
|
||||||
|
debug_out/pctrace.txt
|
||||||
|
debug_out/state.txt
|
||||||
|
|||||||
@@ -1,180 +0,0 @@
|
|||||||
90D4 CYC:29781
|
|
||||||
90DE CYC:59566
|
|
||||||
90DE CYC:89351
|
|
||||||
90DE CYC:119136
|
|
||||||
90DE CYC:148921
|
|
||||||
90DE CYC:178706
|
|
||||||
90DE CYC:208491
|
|
||||||
90DE CYC:238276
|
|
||||||
90DE CYC:268061
|
|
||||||
90DE CYC:297846
|
|
||||||
90DE CYC:327631
|
|
||||||
90DE CYC:357416
|
|
||||||
90DE CYC:387201
|
|
||||||
90DE CYC:416986
|
|
||||||
90DE CYC:446771
|
|
||||||
90DE CYC:476556
|
|
||||||
90DE CYC:506341
|
|
||||||
90DE CYC:536126
|
|
||||||
90DE CYC:565911
|
|
||||||
90DE CYC:595696
|
|
||||||
90DE CYC:625481
|
|
||||||
90D4 CYC:655262
|
|
||||||
90DE CYC:685047
|
|
||||||
90DE CYC:714832
|
|
||||||
90DE CYC:744617
|
|
||||||
90DE CYC:774402
|
|
||||||
90DE CYC:804187
|
|
||||||
90DE CYC:833972
|
|
||||||
90DE CYC:863757
|
|
||||||
90DE CYC:893542
|
|
||||||
90DE CYC:923327
|
|
||||||
90DE CYC:953112
|
|
||||||
90DE CYC:982897
|
|
||||||
90DE CYC:1012682
|
|
||||||
90DE CYC:1042467
|
|
||||||
90DE CYC:1072252
|
|
||||||
90DE CYC:1102037
|
|
||||||
90DE CYC:1131822
|
|
||||||
90DE CYC:1161607
|
|
||||||
90DE CYC:1191392
|
|
||||||
90DE CYC:1221177
|
|
||||||
90DE CYC:1250962
|
|
||||||
90D4 CYC:1280743
|
|
||||||
90DE CYC:1310528
|
|
||||||
90DE CYC:1340313
|
|
||||||
90DE CYC:1370098
|
|
||||||
90DE CYC:1399883
|
|
||||||
90DE CYC:1429668
|
|
||||||
90DE CYC:1459453
|
|
||||||
90DE CYC:1489238
|
|
||||||
90DE CYC:1519023
|
|
||||||
90DE CYC:1548808
|
|
||||||
90DE CYC:1578593
|
|
||||||
90DE CYC:1608378
|
|
||||||
90DE CYC:1638163
|
|
||||||
90DE CYC:1667948
|
|
||||||
90DE CYC:1697733
|
|
||||||
90DE CYC:1727518
|
|
||||||
90DE CYC:1757303
|
|
||||||
90DE CYC:1787088
|
|
||||||
90DE CYC:1816873
|
|
||||||
90DE CYC:1846658
|
|
||||||
90DE CYC:1876443
|
|
||||||
90D4 CYC:1906224
|
|
||||||
90DE CYC:1936009
|
|
||||||
90DE CYC:1965794
|
|
||||||
90DE CYC:1995579
|
|
||||||
90DE CYC:2025364
|
|
||||||
90DE CYC:2055149
|
|
||||||
90DE CYC:2084934
|
|
||||||
90DE CYC:2114719
|
|
||||||
90DE CYC:2144504
|
|
||||||
90DE CYC:2174289
|
|
||||||
90DE CYC:2204074
|
|
||||||
90DE CYC:2233859
|
|
||||||
90DE CYC:2263644
|
|
||||||
90DE CYC:2293429
|
|
||||||
90DE CYC:2323214
|
|
||||||
90DE CYC:2352999
|
|
||||||
90DE CYC:2382784
|
|
||||||
90DE CYC:2412569
|
|
||||||
90DE CYC:2442354
|
|
||||||
90DE CYC:2472139
|
|
||||||
90DE CYC:2501924
|
|
||||||
90D4 CYC:2531705
|
|
||||||
90DE CYC:2561490
|
|
||||||
90DE CYC:2591275
|
|
||||||
90DE CYC:2621060
|
|
||||||
90DE CYC:2650845
|
|
||||||
90DE CYC:2680630
|
|
||||||
90DE CYC:2710415
|
|
||||||
90DE CYC:2740200
|
|
||||||
90DE CYC:2769985
|
|
||||||
90DE CYC:2799770
|
|
||||||
90DE CYC:2829555
|
|
||||||
90DE CYC:2859340
|
|
||||||
90DE CYC:2889125
|
|
||||||
90DE CYC:2918910
|
|
||||||
90DE CYC:2948695
|
|
||||||
90DE CYC:2978480
|
|
||||||
90DE CYC:3008265
|
|
||||||
90DE CYC:3038050
|
|
||||||
90DE CYC:3067835
|
|
||||||
90DE CYC:3097620
|
|
||||||
90DE CYC:3127405
|
|
||||||
90D4 CYC:3157186
|
|
||||||
90DE CYC:3186971
|
|
||||||
90DE CYC:3216756
|
|
||||||
90DE CYC:3246541
|
|
||||||
90DE CYC:3276326
|
|
||||||
90DE CYC:3306111
|
|
||||||
90DE CYC:3335896
|
|
||||||
90DE CYC:3365681
|
|
||||||
90DE CYC:3395466
|
|
||||||
90DE CYC:3425251
|
|
||||||
90DE CYC:3455036
|
|
||||||
90DE CYC:3484821
|
|
||||||
90DE CYC:3514606
|
|
||||||
90DE CYC:3544391
|
|
||||||
90DE CYC:3574176
|
|
||||||
90DE CYC:3603961
|
|
||||||
90DE CYC:3633746
|
|
||||||
90DE CYC:3663531
|
|
||||||
90DE CYC:3693316
|
|
||||||
90DE CYC:3723101
|
|
||||||
90DE CYC:3752886
|
|
||||||
90D4 CYC:3782667
|
|
||||||
90DE CYC:3812452
|
|
||||||
90DE CYC:3842237
|
|
||||||
90DE CYC:3872022
|
|
||||||
90DE CYC:3901807
|
|
||||||
90DE CYC:3931592
|
|
||||||
90DE CYC:3961377
|
|
||||||
90DE CYC:3991162
|
|
||||||
90DE CYC:4020947
|
|
||||||
90DE CYC:4050732
|
|
||||||
90DE CYC:4080517
|
|
||||||
90DE CYC:4110302
|
|
||||||
90DE CYC:4140087
|
|
||||||
90DE CYC:4169872
|
|
||||||
90DE CYC:4199657
|
|
||||||
90DE CYC:4229442
|
|
||||||
90DE CYC:4259227
|
|
||||||
90DE CYC:4289012
|
|
||||||
90DE CYC:4318797
|
|
||||||
90DE CYC:4348582
|
|
||||||
90DE CYC:4378367
|
|
||||||
90D4 CYC:4408148
|
|
||||||
90DE CYC:4437933
|
|
||||||
90DE CYC:4467718
|
|
||||||
90DE CYC:4497503
|
|
||||||
90DE CYC:4527288
|
|
||||||
90DE CYC:4557073
|
|
||||||
90DE CYC:4586858
|
|
||||||
90DE CYC:4616643
|
|
||||||
90DE CYC:4646428
|
|
||||||
90DE CYC:4676213
|
|
||||||
90DE CYC:4705998
|
|
||||||
90DE CYC:4735783
|
|
||||||
90DE CYC:4765568
|
|
||||||
90DE CYC:4795353
|
|
||||||
90DE CYC:4825138
|
|
||||||
90DE CYC:4854923
|
|
||||||
90DE CYC:4884708
|
|
||||||
90DE CYC:4914493
|
|
||||||
90DE CYC:4944278
|
|
||||||
90DE CYC:4974063
|
|
||||||
90DE CYC:5003848
|
|
||||||
90D4 CYC:5033629
|
|
||||||
90DE CYC:5063414
|
|
||||||
90DE CYC:5093199
|
|
||||||
90DE CYC:5122984
|
|
||||||
90DE CYC:5152769
|
|
||||||
90DE CYC:5182554
|
|
||||||
90DE CYC:5212339
|
|
||||||
90DE CYC:5242124
|
|
||||||
90DE CYC:5271909
|
|
||||||
90DE CYC:5301694
|
|
||||||
90DE CYC:5331479
|
|
||||||
90DE CYC:5361264
|
|
||||||
-4500
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -79,7 +79,7 @@ fn run_dbg(path: &str) {
|
|||||||
let mut cpu = Cpu::new();
|
let mut cpu = Cpu::new();
|
||||||
cpu.reset(&mut bus);
|
cpu.reset(&mut bus);
|
||||||
let mut dumper = dump::Dumper::new();
|
let mut dumper = dump::Dumper::new();
|
||||||
let frames: u32 = 180;
|
let frames: u32 = 360;
|
||||||
|
|
||||||
for f in 0..frames {
|
for f in 0..frames {
|
||||||
while !bus.frame_done() {
|
while !bus.frame_done() {
|
||||||
|
|||||||
+3
-1
@@ -41,7 +41,9 @@ impl Ppu {
|
|||||||
// vblank flag + NMI
|
// vblank flag + NMI
|
||||||
if self.cycle == 0 && self.scanline == 241 {
|
if self.cycle == 0 && self.scanline == 241 {
|
||||||
self.status |= 0x80;
|
self.status |= 0x80;
|
||||||
self.nmi_pending = true;
|
if self.ctrl & 0x80 != 0 {
|
||||||
|
self.nmi_pending = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// clear vblank
|
// clear vblank
|
||||||
if self.cycle == 0 && self.scanline == 261 {
|
if self.cycle == 0 && self.scanline == 261 {
|
||||||
|
|||||||
Reference in New Issue
Block a user