Commit Graph

40 Commits

Author SHA1 Message Date
Zack Buhman
6eda2bba0a examples/cube: unrot 2025-05-15 20:04:34 -05:00
Zack Buhman
32a294c209 add majora model 2024-09-15 19:16:02 -05:00
Zack Buhman
7e1c251a22 gen: move to separate repository 2024-09-15 19:14:56 -05:00
Zack Buhman
ed46a806b7 examples: add happy_mask_salesman 2024-09-11 13:27:28 -05:00
Zack Buhman
b49f61292f model: enable 4-color and 16-color modes 2024-09-11 12:16:03 -05:00
Zack Buhman
3aea58f4a9 arm9: use instruction TCM 2024-09-11 08:58:05 -05:00
Zack Buhman
b7720547c7 ulala: use VTX_16 2024-09-11 06:26:23 -05:00
Zack Buhman
0fe7105d44 examples: add ulala 2024-09-11 06:20:44 -05:00
Zack Buhman
e13e4ba987 main: rename to "2d_engine" 2024-09-10 12:43:37 -05:00
Zack Buhman
62d6a3b2a6 arm7: copy to exclusive internal ram
Before this commit, attempting to start the rom on real NDS/DSi
hardware would result in the display of a solid white screen, with
no apparent evidence of the arm9 program running.

After much testing, I found that this issue was directly caused "main
mmeory" bus contention. Because arm7 and arm9 are both attempting to
read instructions from ewram at the same time, and arm9 bus access
stalls completely.

I also found that this could not be mitigated with giving arm9
priority in EXMEMCNT.

The solution appears to be to relocate arm7 code execution from
main/shared memory to an arm7-internal memory.

After this commit, the examples now function as intended on real
NDS/DSi hardware.
2024-09-10 12:16:19 -05:00
Zack Buhman
95baf481d7 examples/majora: slight cleanup 2024-09-05 10:45:41 -05:00
Zack Buhman
6d464a6d9b texture build process rework 2024-09-05 10:39:56 -05:00
Zack Buhman
140f243ad3 examples: add majora 2024-09-04 22:03:27 -05:00
Zack Buhman
909e041082 examples: add icosphere 2024-09-04 01:51:23 -05:00
Zack Buhman
ba8201acee cube: enable backface culling 2024-09-03 23:26:29 -05:00
Zack Buhman
a6a18162bf cube: add perspective matrix 2024-09-03 23:26:20 -05:00
Zack Buhman
df31f45fd1 examples: add cube 2024-09-03 22:42:12 -05:00
Zack Buhman
fb624b986b examples: add texture example 2024-09-03 14:00:37 -05:00
Zack Buhman
751d15a31c triangle_rotating: add display squareness correction 2024-09-03 03:08:54 -05:00
Zack Buhman
8a56e6de94 examples: add triangle_rotating example 2024-09-03 02:54:56 -05:00
Zack Buhman
73428f90b1 examples: add triangle 2024-09-03 02:10:42 -05:00
Zack Buhman
14c5ecb076 math: add sin and cos 1.12 fixed point functions. 2024-09-03 00:25:47 -05:00
Zack Buhman
3b7a18bb5d header: correct device capacity / hook addresses 2024-09-02 23:04:13 -05:00
Zack Buhman
85c41eed53 dump.py: initial 2024-09-02 23:03:14 -05:00
Zack Buhman
838388caaf patch.py: add secure area crc 2024-09-02 23:02:51 -05:00
Zack Buhman
c0395c9a7e Makefile: add arm9/arm7 rules 2024-09-02 23:02:38 -05:00
Zack Buhman
04cfb2ea0e rework build process 2024-09-01 23:01:00 -05:00
Zack Buhman
3459842128 spinning triangle 2024-09-01 04:34:08 -05:00
Zack Buhman
76dc15b1c0 3d engine bits 2024-09-01 00:52:18 -05:00
Zack Buhman
9e6cd43860 rotating bowser 2024-08-31 12:59:45 -05:00
Zack Buhman
4dd7a033ac palette 2024-08-31 10:28:27 -05:00
Zack Buhman
9e9764ef38 bg 2024-08-31 07:13:36 -05:00
Zack Buhman
ec85edbc14 add oam, more bits 2024-08-31 04:20:12 -05:00
Zack Buhman
810c6975b1 registers: add graphics_engine_bits for DISPCNT 2024-08-31 01:58:07 -05:00
Zack Buhman
977213d712 add trivial example program 2024-08-30 05:49:23 -05:00
Zack Buhman
b2e8b3b1ea registers: add struct declarations 2024-08-30 04:26:57 -05:00
Zack Buhman
46cfc93060 remove DB_ prefix 2024-08-30 04:25:20 -05:00
Zack Buhman
3e2f9fddc1 base16 offset static assertions 2024-08-30 02:44:20 -05:00
Zack Buhman
f3b11ed49f add graphics engine header files 2024-08-30 02:39:53 -05:00
Zack Buhman
710afdfc43 initial 2024-08-30 01:47:21 -05:00