Commit graph

217 commits

Author SHA1 Message Date
Alex Janka f2e08c2c1c audio works! almost... 2023-02-19 19:10:53 +11:00
Alex Janka 0f5bcb8e46 remove saving audio 2023-02-19 19:10:49 +11:00
Alex Janka 75578786e4 clean 2023-02-19 19:08:46 +11:00
Alex Janka 184e4c3341 back to clock cycles for now 2023-02-19 09:23:28 +11:00
Alex Janka 433c9bae6c temp record audio 2023-02-18 08:35:40 +11:00
Alex Janka cea9262218 lol 2023-02-17 13:33:36 +11:00
Alex Janka 8d90da2e6d implement functionality behind div-apu ticks 2023-02-17 12:17:20 +11:00
Alex Janka e150005eda correct for machine cycles 2023-02-17 11:07:03 +11:00
Alex Janka 7a28655604 audio kinda works 2023-02-17 11:01:38 +11:00
Alex Janka e60426fe0f reorganise 2023-02-17 09:06:17 +11:00
Alex Janka 08da9f7857 commented code 2023-02-16 16:11:04 +11:00
Alex Janka ffdd458fbb its getting there 2023-02-16 15:03:07 +11:00
Alex Janka 0d48a58525 makes audio... ish 2023-02-15 16:11:32 +11:00
Alex Janka 579d13d0ef render pulse channels 2023-02-15 15:10:22 +11:00
Alex Janka 7ff06f151e timer consts 2023-02-15 09:01:05 +11:00
Alex Janka 28fb90c8d6 implement apu ticks from div 2023-02-15 08:44:56 +11:00
Alex Janka 75a9396b57 comments and a lil fixing 2023-02-15 08:25:04 +11:00
Alex Janka f42f58a663 more accurate timing 2023-02-14 08:23:24 +11:00
Alex Janka 645b5e365a pwm registers enabled 2023-02-14 08:12:14 +11:00
Alex Janka 6f5a1c648c forgor to set what i was gettn 2023-02-13 15:41:57 +11:00
Alex Janka 3e1b68fc1e more registersf 2023-02-13 14:37:43 +11:00
Alex Janka 2bc9d0f665 prepare for dealing with all registers 2023-02-13 14:16:58 +11:00
Alex Janka 0b2378d160 make registers from apu values 2023-02-13 14:11:16 +11:00
Alex Janka f343075599 apu handle all addrs 2023-02-13 13:29:53 +11:00
Alex Janka f0a8a978b2 apu handles memory 2023-02-13 13:22:50 +11:00
Alex Janka 49a37b933a move all joypad logic to joypad 2023-02-13 12:51:09 +11:00
Alex Janka d6af9d31b3 move apu 2023-02-13 12:43:58 +11:00
Alex Janka 8a04f5e507 splitting and pub using 2023-02-13 12:42:38 +11:00
Alex Janka 04fcb000a1 initial apu 2023-02-13 10:51:52 +11:00
Alex Janka 3af4772363 fix stupid comments 2023-02-13 10:36:04 +11:00
Alex Janka 4f52cda6c6 imports lol 2023-02-13 10:11:43 +11:00
Alex Janka 5bb098bfa4 initial (bad) gamepad support 2023-02-13 09:56:41 +11:00
Alex Janka 0fde806f62 mbc bugfix 2023-02-12 19:15:05 +11:00
Alex Janka 5989a1a49f title name w/mbc is more descriptive 2023-02-12 17:21:24 +11:00
Alex Janka aeba27f6cf handle masked io properly 2023-02-12 14:20:07 +11:00
Alex Janka a3dfec659a a little bit of fixing 2023-02-12 14:05:50 +11:00
Alex Janka d7a60d1c97 i wasnt *that* stupid 2023-02-12 10:22:52 +11:00
Alex Janka 18a0ceb46e clippy clean :) 2023-02-12 09:46:47 +11:00
Alex Janka cee17032bd clippy suggestions 2023-02-12 09:41:34 +11:00
Alex Janka 45a1aae05f fix timers 2023-02-12 09:29:35 +11:00
Alex Janka 03faea6ca9 move stuff to util file 2023-02-12 09:27:41 +11:00
Alex Janka d3ee58131e make uses more consistent 2023-02-12 08:59:40 +11:00
Alex Janka ab3cba1ec0 make things neater :) 2023-02-12 08:51:23 +11:00
Alex Janka d6276a1478 mostly intact mbc1 impl 2023-02-11 21:43:36 +11:00
Alex Janka c442363cd4 VERY stupid mistake 2023-02-11 08:57:48 +11:00
Alex Janka 793a698947 hack for oam lol 2023-02-10 10:05:51 +11:00
Alex Janka 76642194b1 object priority 2023-02-10 09:55:58 +11:00
Alex Janka 8394b4d225 ignore bit 0 of tile index for 8x16 objects 2023-02-10 09:47:57 +11:00
Alex Janka 63f98a5ec4 window internal lc 2023-02-10 09:26:26 +11:00
Alex Janka cf67c8a501 gpu actually almost works 2023-02-09 19:00:53 +11:00
Alex Janka c3c02fa539 mbc name 2023-02-09 17:32:47 +11:00
Alex Janka ad51d4173a lol 2023-02-09 17:32:41 +11:00
Alex Janka b659e5c77b fix DAA 2023-02-09 17:30:50 +11:00
Alex Janka 615446faa7 keypress interrupts 2023-02-09 17:30:38 +11:00
Alex Janka 96af4b94a1 minor gpu improvements 2023-02-09 16:57:01 +11:00
Alex Janka 6eb791ebf4 move gpu types out 2023-02-09 12:37:23 +11:00
Alex Janka 3d15a1ef6f set dma addr to last loaded 2023-02-09 12:31:57 +11:00
Alex Janka a462e2cfd2 actually talk to mbcs 2023-02-09 12:18:13 +11:00
Alex Janka 3cd888d991 oam dma transfers 2023-02-09 12:14:55 +11:00
Alex Janka ad8d001f0c error message rather than panic 2023-02-09 11:57:51 +11:00
Alex Janka 09b1cb1e57 fix tile rendering 2023-02-09 11:10:49 +11:00
Alex Janka d6b95e6c6c work better when lcd is disabled + turn off bits in stat 2023-02-09 11:10:33 +11:00
Alex Janka d5efdd6084 derives + set stat properly + joypad improvements 2023-02-09 10:05:13 +11:00
Alex Janka ac6c2afd10 initial state 2023-02-08 21:06:26 +11:00
Alex Janka f518e390fa service interrupts when halted 2023-02-08 18:07:46 +11:00
Alex Janka 8ef947d54a draw objects behind bg/window 2023-02-08 11:12:08 +11:00
Alex Janka 465b8454f6 lcd status interrupts 2023-02-08 11:11:39 +11:00
Alex Janka 2dab3623e9 fix some little stinks 2023-02-08 10:43:00 +11:00
Alex Janka 2346b6c661 derive 2023-02-08 10:32:06 +11:00
Alex Janka 984adbd942 colours 2023-02-08 10:30:21 +11:00
Alex Janka 5c612c27bc fix addr handling for tilemaps 2023-02-08 10:09:24 +11:00
Alex Janka 0a75b58732 tile window draws all tiles + is optional 2023-02-08 09:40:54 +11:00
Alex Janka 3b2a07c264 if bg/window disabled clear with white 2023-02-08 09:20:57 +11:00
Alex Janka 72bdc2212b object rendering... such a dumb mistake lolz 2023-02-08 09:15:47 +11:00
Alex Janka 30cbe63090 cleaning 2023-02-08 09:06:21 +11:00
Alex Janka 2f8c606f79 keep rom bank in limits 2023-02-08 08:58:56 +11:00
Alex Janka 122bfee8df implement HALT 2023-02-07 22:49:08 +11:00
Alex Janka 89370fd077 mbc support 2023-02-07 19:28:06 +11:00
Alex Janka 5ef4e8c792 mbc trait 2023-02-07 10:08:34 +11:00
Alex Janka 5fe3d2ef2e parse cart header 2023-02-07 09:51:11 +11:00
Alex Janka 8185243582 split rom to struct 2023-02-07 09:19:50 +11:00
Alex Janka afd95afd71 make more of memory private 2023-02-07 09:13:45 +11:00
Alex Janka 1a0a45527a clean imports 2023-02-07 09:12:39 +11:00
Alex Janka b363de3608 input handling 2023-02-07 09:09:52 +11:00
Alex Janka 3725382752 split mem addrs 2023-02-07 08:38:21 +11:00
Alex Janka 25f45e18f7 more handling 2023-02-06 21:10:13 +11:00
Alex Janka acbddcb08f back to functional 2023-02-06 21:00:56 +11:00
Alex Janka 98b217b858 split memory module 2023-02-06 20:54:26 +11:00
Alex Janka f0b2369c9d object rendering + usermode ram 2023-02-06 19:17:52 +11:00
Alex Janka 94bb1a2bfb better io handling 2023-02-06 14:24:04 +11:00
Alex Janka 5d788fe9c1 move windows 2023-02-06 12:44:58 +11:00
Alex Janka 5884eeabf4 remove unused verbose prints 2023-02-06 12:37:40 +11:00
Alex Janka 1338d58582 actually turn off bootrom LOL 2023-02-06 12:37:35 +11:00
Alex Janka 9591f2123f fix stupid ram stuff + cpu inits itself 2023-02-06 12:32:10 +11:00
Alex Janka edfda4fd84 remove stupid commented out code 2023-02-06 12:19:15 +11:00
Alex Janka 56e2735e58 position windows and allow ignore obj_size 2023-02-06 12:17:58 +11:00
Alex Janka 805ae0c817 draw window with tiledata 2023-02-06 12:14:51 +11:00
Alex Janka bec5a0c3d6 window renders + it all works kind of almost ish 2023-02-06 12:14:02 +11:00
Alex Janka 1d041e2d57 gpu improvements 2023-02-06 11:42:45 +11:00
Alex Janka 4a48bf6a68 dont pretend to run bootrom if actually running bootrom 2023-02-06 11:18:18 +11:00