Commit graph

572 commits

Author SHA1 Message Date
Sean Maas
11740f8100 fix some funky palette issues 2019-08-15 22:54:36 -04:00
Sean Maas
279710e9da fix more pipelining derpos 2019-08-15 20:27:00 -04:00
Sean Maas
890e0ee8ab add FPS counter 2019-08-14 23:57:51 -04:00
Sean Maas
60116e58ba split memory_transfer into multiple files + minor fixes 2019-08-14 23:28:42 -04:00
Sean Maas
b73a1b5666 apply pipelining to ALU instrs on PC that don't change its value
aka finally get commercial games booting!
2019-08-13 22:19:11 -04:00
Sean Maas
b293ef2ab0 manually supply the 'encryObj' string 2019-08-12 17:25:53 -04:00
Sean Maas
9390459a29 the CPUs have separate DISPSTAT registers you absolute derpo 2019-08-11 23:35:33 -04:00
Sean Maas
f1f017409f get RTC value from system time and fix RTC status bit being set to bad 2019-08-11 13:58:01 -04:00
Sean Maas
f63eca6e50 secure area loading and other related things 2019-08-10 18:46:23 -04:00
Sean Maas
cc5b0b6639 implement division registers, rework dma transfers 2019-08-04 17:13:01 -04:00
Sean Maas
d29f10d028 implement basic RTC functionality
aka just reading a fixed date and time. the date i used is the day
i got noodle :)
2019-07-31 13:39:24 -04:00
Sean Maas
e1712a44de make cart transfers start to resemble an actual implementation 2019-07-30 21:26:48 -04:00
Sean Maas
c71cac2af5 code comments and partial refactor
this was supposed to be a huge refactor and optimization, but i lost
motivation halfway through. once commercial games boot i'll probably
come back to this.
2019-07-30 21:25:48 -04:00
Sean Maas
70ad7fb6f5 add object sprite flipping 2019-07-21 21:03:10 -04:00
Sean Maas
de4619e912 return FFs for GBA slot reads 2019-07-21 14:47:48 -04:00
Sean Maas
ef10f9f893 barebones object rendering 2019-07-21 14:31:26 -04:00
Sean Maas
82954676b7 properly handle writes to the fifo error bit
and now the firmware finally boots!
2019-07-20 01:31:46 -04:00
Sean Maas
32c687e8e8 fix swp 2019-07-20 00:18:42 -04:00
Sean Maas
6565110cee oops. timers count up, not down 2019-07-19 20:14:07 -04:00
Sean Maas
c0d83f34c3 spi improvements + implement clz, ldms/stms instructions 2019-07-19 18:04:40 -04:00
Sean Maas
ee73f0a03e fix read-only bits of ipcsync being writeable
dorp
2019-07-18 22:35:59 -04:00
Sean Maas
671e5a7533 finally implement fifo
also fixed irqs to allow setting irf even when irqs are disabled.
this bug and the last one were preventing my previous fifo attempts
from working.
2019-07-18 18:06:00 -04:00
Sean Maas
9b7f3d344f rework irq system to fix issues with irqs triggered by i/o writes 2019-07-17 20:48:34 -04:00
Sean Maas
5255c6dd72 a mess of things to make the firmware almost work
timers, crappy fake rom transfers, and other stuff.
remind me at some point to make my code not a trashy mess.
2019-07-17 19:19:24 -04:00
Sean Maas
e8b1fa3c29 add firmware SPI read command
also refactored some things
2019-07-14 18:38:32 -04:00
Sean Maas
628ba28dcd improve the i/o system
to allow reading/writing multiple registers at once, and partial
reads/writes that don't start at the LSB. the mask stuff is kinda
weird but it means i don't need an entry in the switch statement
for every single byte of every register, so yeah.
2019-07-09 15:50:32 -04:00
Sean Maas
02a7c65379 some branch fixes and some other stuff 2019-07-04 18:37:01 -04:00
Sean Maas
c747797aa6 preparation for trying to boot the firmware
(obviously doesn't work yet)
2019-07-04 14:50:38 -04:00
Sean Maas
1ff1462917 fix thumb irq return address 2019-07-03 01:36:00 -04:00
Sean Maas
94f1b03737 fix the last couple alu mistakes 2019-07-01 17:25:19 -04:00
Sean Maas
a61f49fe57 writeback fixes 2019-06-30 22:38:31 -04:00
Sean Maas
3ce20d1123 handle special shift cases 2019-06-30 01:14:27 -04:00
Sean Maas
77d59faae6 misc stuff 2019-06-28 23:12:53 -04:00
Sean Maas
936ba8537b add scrolling support for text layers 2019-06-28 18:55:37 -04:00
Sean Maas
32f9e05fe6 implement tile flipping for text layers 2019-06-28 16:48:49 -04:00
Sean Maas
b2c5e10eed new wxwidgets ui 2019-06-27 18:13:44 -04:00
Sean Maas
f66e814f9b fix layer transparency issues 2019-06-25 01:44:49 -04:00
Sean Maas
5a4d240778 separate ext palettes for each engine
wow mega derp
2019-06-25 01:15:11 -04:00
Sean Maas
d2c4dca063 add extended palette support 2019-06-24 23:26:36 -04:00
Sean Maas
76b374487f fix non-verbose mode on windows
micosoft pls
2019-06-23 21:23:55 -04:00
Sean Maas
c63b716b22 fix visual studio's whiny complaints 2019-06-23 20:47:25 -04:00
Sean Maas
b9e18ec910 basic 256 color bitmap support + optimizing text layer 2019-06-23 18:33:51 -04:00
Sean Maas
a782cd171e basic tile/text layer support 2019-06-22 18:37:17 -04:00
Sean Maas
b22dd17f79 render per-scanline instead of per-dot 2019-06-22 16:08:39 -04:00
Sean Maas
16ca2aa0d7 implement basic mode 0 dma transfers 2019-06-22 04:01:54 -04:00
Sean Maas
20c510190a add wramcnt, extkeyin registers
x and y keys probably won't do much until the fifo is implemented
2019-06-22 01:35:34 -04:00
Sean Maas
63f7ce0f84 basic direct color bitmap layer support 2019-06-20 21:49:42 -04:00
Sean Maas
c0a5e7176b skeleton for bg layers
dunno how efficient this is. it'll probabaly end up changing a lot.
2019-06-20 20:44:55 -04:00
Sean Maas
1e2421a146 add barebones switch build
yeah, i could use the UI from melonDS and NoiES, but that code is a
bit of a mess. i'm thinking of just starting from scratch and
rewriting it. until then though, here's an absolute bare minimum
build so we can see how performance is on the switch.
2019-06-20 01:55:43 -04:00
Sean Maas
d245918cf8 interpreter bugfixes 2019-06-19 22:00:34 -04:00