Matthew Berry
02b596943e
more precise fps in window title
2021-02-14 00:03:09 -08:00
Matthew Berry
f03c90a13b
fix fake pipeline: actually read words in arm pipeline, read correct regs
2021-02-12 00:42:38 -08:00
Matthew Berry
b4af85523e
removed repetitive logic from thumb add_subtract
2021-02-11 00:01:07 -08:00
Matthew Berry
c986673e68
fill pipeline if necessary (gba-suite nes.gba #1 )
2021-02-10 22:58:41 -08:00
Matthew Berry
eeff849ec0
move to a fake pipeline, 25% perf gain in Emerald and Golden Sun, 400% in wait loops
2021-02-10 22:45:20 -08:00
Matthew Berry
6c575089b1
fix timer off-by-one (stop kirby audio clicking)
2021-02-08 00:07:46 -08:00
Matthew Berry
ed6d42b2e2
fixed golden sun saves (return 64k flash id for 64k chips)
2021-02-07 11:52:28 -08:00
Matthew Berry
01eadfd5a6
properly disable vsync
2021-02-06 01:51:34 -08:00
Matthew Berry
bc35157dca
long overdue readme update
2021-02-04 01:11:51 -08:00
Matthew Berry
08cc652722
brightness effects for sprites, allows official bios to render properly
2021-02-04 00:09:58 -08:00
Matthew Berry
0e30f3558b
fix object window, basic mode 2, mostly accurate rendering of official bios
2021-02-03 20:01:19 -08:00
Matthew Berry
805e860726
sprite blending overrides effects being disabled, fixes emerald cave/fog/underwater
2021-02-03 00:03:35 -08:00
Matthew Berry
26b521a37f
don't render object window objects (fix Emerald logo shine)
2021-02-02 00:35:18 -08:00
Matthew Berry
c2e46e2f68
brightness increase / decrease effects
2021-02-01 00:00:50 -08:00
Matthew Berry
686e53ed73
basic windowing, passing tonc window demo
2021-01-31 22:57:38 -08:00
Matthew Berry
88405ff36c
fix sprite blending for tonc's demo, minor refactoring
2021-01-31 17:49:33 -08:00
Matthew Berry
057913aace
respect dispcnt{display_obj}, don't render disabled sprites, ppu refactoring to support windows
...
- respect @dispcnt.screen_display_obj
- don't render disabled sprites
- render all sprites to a single buffer rather than 4
- required some additional logic to check priority
- adds fields for priority and whether pixel is an obj_window sprite
- calculate where objects with obj_window flag exist on each scanline
2021-01-31 17:22:54 -08:00
Matthew Berry
8e9eac5b6f
removed outdated rendering methods
2021-01-31 15:32:57 -08:00
Matthew Berry
0ba9da018e
fix flags on thumb alu neg
2021-01-31 14:49:36 -08:00
Matthew Berry
b4e30b9164
fixed sprites clipped on left and bottom (broken since introduction of affine sprites)
2021-01-31 00:58:09 -08:00
Matthew Berry
6e71ee30b8
fix multiple accumulate when destination is accumulate reg
2021-01-31 00:16:09 -08:00
Matthew Berry
24a186da3c
properly disable apu channels, allow access to correct regs while disabled
2021-01-30 22:03:27 -08:00
Matthew Berry
190ce42ea6
direct reads of words / halfwords, improves fps ~25%
2021-01-30 17:21:49 -08:00
Matthew Berry
79ed746d6c
proper DMA/PSG balance, use soundbias, remove offset for silence
2021-01-30 00:26:02 -08:00
Matthew Berry
f21091d375
remove use of mod operator in render_reg_bg
2021-01-29 00:02:13 -08:00
Matthew Berry
512e81289e
hopefully should compile for mac properly now
2021-01-28 00:43:38 -08:00
Oleh Prypin
5245abcbf8
Add CI using GitHub Actions ( #1 ) -- Thanks oprypin!
...
* Crystal 0.36 compatibility
* Add CI using GitHub Actions
Co-authored-by: Matthew Berry <me@mattrb.com>
2021-01-27 19:43:23 -08:00
Matthew Berry
81711e2d20
add support for and requirement on Crystal 0.36.0
...
minor api changes, plus -1.to_u32 now raises an exception. All changes here addressed those changes
2021-01-27 19:32:02 -08:00
Matthew Berry
278a7ff2cb
move apu to use Int16 rather than Float32 samples
2021-01-27 01:19:22 -08:00
Matthew Berry
0de7d0c0c5
dma rewrite, fix emerald and kirby only playing on left side
2021-01-26 00:07:07 -08:00
Matthew Berry
fd70aa31ca
sprite alpha blending (although failing tonc bld_demo..)
2021-01-25 00:03:25 -08:00
Matthew Berry
f0b8662669
early changes to support alpha blending
2021-01-24 00:13:43 -08:00
Matthew Berry
d4068da188
don't allow bank changes for 512mb flash
2021-01-23 19:35:50 -08:00
Matthew Berry
0a9b5afcb0
break out backup types, implement sram
2021-01-23 00:09:58 -08:00
Matthew Berry
dc974e337f
write saves once per frame if necessary (speed up flash writes)
2021-01-22 00:03:06 -08:00
Matthew Berry
16da14d7bf
slow but functional flash implementation
2021-01-21 23:51:51 -08:00
Matthew Berry
80d494da6a
rough start to flash
2021-01-20 00:41:38 -08:00
Matthew Berry
dc29f10a94
8bpp sprites working properly (emerald, golden sun, graveblood)
2021-01-19 19:18:57 -08:00
Matthew Berry
3b4e6deb30
working hdma: pokemon emerald clouds are wavy
2021-01-18 00:06:24 -08:00
Matthew Berry
e6035a9c01
affine sprites seem to be working in emerald / tonc obj_aff
2021-01-17 22:32:39 -08:00
Matthew Berry
ea2d4ce50e
basic working affine sprite impl
2021-01-17 18:38:27 -08:00
Matthew Berry
480f4b181b
very rough start to affine sprites
2021-01-16 12:30:14 -08:00
Matthew Berry
99ac277ca0
implement affine wrap
2021-01-16 01:59:37 -08:00
Matthew Berry
d5e05f0f88
affine bg working! minus wrap
2021-01-15 00:16:25 -08:00
Matthew Berry
d8f03b8ff6
a rough start to getting affine background working
2021-01-14 08:52:41 -08:00
Matthew Berry
4247cf139d
stub flash so that pokemon games boot
2021-01-11 23:10:49 -08:00
Matthew Berry
4f1218cf54
scale dma b with dma b volume instead of dma a volume
2021-01-10 12:33:18 -08:00
Matthew Berry
2c87495836
ignore writes to mmio 0x71
2021-01-09 23:17:48 -08:00
Matthew Berry
63ec32b595
fix instant dma - load dma sad/dad before trigger
2021-01-08 08:54:32 -08:00
Matthew Berry
f6fa9f9711
8bpp sprites
2021-01-07 21:54:18 -08:00