Commit Graph

632 Commits

Author SHA1 Message Date
Jeffrey Pfau 290b64b171 Compile-time flag for disabling debugger 2013-10-12 00:34:59 -07:00
Jeffrey Pfau b3dc065144 Read DISPCNT, fix video register writing 2013-10-11 22:04:41 -07:00
Jeffrey Pfau de39f23a1b Add ROM override checking, seed with BPEE 2013-10-11 22:03:27 -07:00
Jeffrey Pfau 58611facf1 Fix OBJWIN blending modifications on BG modes 0 - 2 2013-10-11 00:43:01 -07:00
Jeffrey Pfau cff77a3a81 Remove extraneous macros by adding a palette variable 2013-10-10 23:33:22 -07:00
Jeffrey Pfau e789b324dc Refactor BREAK_WINDOW into _breakWindow, fix bug cleaning up extra windows 2013-10-10 01:40:49 -07:00
Jeffrey Pfau 2ef64ede02 Basic tab-completion 2013-10-10 01:05:25 -07:00
Jeffrey Pfau 01d8569262 Remove reliance on linenoise 2013-10-10 00:29:41 -07:00
Jeffrey Pfau c19d1117f1 Add timings to CpuSet and CpuFastSet 2013-10-09 01:57:53 -07:00
Jeffrey Pfau 09a0f95ed4 Actually use GBATestIRQ 2013-10-09 01:56:59 -07:00
Jeffrey Pfau 6906df95e2 VCOUNT is not properly reset on wrap 2013-10-09 01:09:09 -07:00
Jeffrey Pfau c3a7d87214 Add missing variable 2013-10-09 00:44:44 -07:00
Jeffrey Pfau 9698531702 Clean up thread starting, stopping and sound 2013-10-09 00:44:31 -07:00
Jeffrey Pfau 2f9bcf63b7 Clean up audio sync code 2013-10-08 22:36:55 -07:00
Jeffrey Pfau 84ad94b85e Support loading BIOS 2013-10-08 22:36:19 -07:00
Jeffrey Pfau 68d85ab9b7 Implement VRAM load/store8 2013-10-08 21:43:43 -07:00
Jeffrey Pfau 3e3bb58ae5 Minor timing fixes 2013-10-08 02:10:43 -07:00
Jeffrey Pfau 40a0a0eb11 Fix reading 32-bit unaligned IO registers 2013-10-06 12:28:48 -07:00
Jeffrey Pfau 45501658b5 Sync to audio by default 2013-10-05 02:52:57 -07:00
Jeffrey Pfau 4ef6a70731 Refactor frame synchronization 2013-10-05 02:11:53 -07:00
Jeffrey Pfau 2f00e3d146 Don't trample audio buffer 2013-10-03 12:08:52 -07:00
Jeffrey Pfau 4a09d41aab Fix circle buffers 2013-10-03 01:25:51 -07:00
Jeffrey Pfau 0dd69e8273 Fix incorrect condition in FIFO sampling 2013-10-03 01:23:16 -07:00
Jeffrey Pfau da38027654 Add missing changes 2013-10-02 02:45:41 -07:00
Jeffrey Pfau ba0596da07 Hook up audio for DMA sound channels 2013-10-02 02:40:16 -07:00
Jeffrey Pfau a834f8b1f6 Sample FIFOs with sound DMA timer 2013-10-02 00:46:51 -07:00
Jeffrey Pfau 71ec6162f1 Fix circle buffer sizing 2013-10-02 00:46:19 -07:00
Jeffrey Pfau 09b4a4a29a Build up DMA channel audio infrastructure from GBA.js 2013-10-01 23:56:10 -07:00
Jeffrey Pfau 9bf6b571b1 Fix naming 2013-09-30 02:02:26 -07:00
Jeffrey Pfau f5bcb1eace Change log level to mask 2013-09-30 01:48:41 -07:00
Jeffrey Pfau aaaafb90a5 Add ability to get thread-specific GBA 2013-09-30 01:42:31 -07:00
Jeffrey Pfau be36c1b5d6 Clean up error handling a bit 2013-09-30 01:31:14 -07:00
Jeffrey Pfau 3439fa5bf4 Start audio 2013-09-30 01:23:58 -07:00
Jeffrey Pfau 25885e1e82 Invalid memory reads 2013-09-27 23:48:56 -07:00
Jeffrey Pfau 453fdac3fe Fix ArcTan2 2013-09-27 09:48:04 -07:00
Jeffrey Pfau f8341f2d20 Rotate 16-bit unaligned loads 2013-09-27 02:07:44 -07:00
Jeffrey Pfau f6e1e6e6d5 Fix OBJWIN for backgrounds 2013-09-26 17:12:46 -07:00
Jeffrey Pfau 07d3fbaceb Support 16-bit color again 2013-09-26 15:11:09 -07:00
Jeffrey Pfau 187e099f25 Fix sorting in _composite 2013-09-26 10:35:26 -07:00
Jeffrey Pfau a7182b8df9 Add watchpoints 2013-09-26 00:26:11 -07:00
Jeffrey Pfau 99769695d7 Fix ADCS C bit 2013-09-26 00:25:48 -07:00
Jeffrey Pfau 662feed390 Always go through pointers for load and store 2013-09-25 22:11:58 -07:00
Jeffrey Pfau fcdbbf2a43 Fix bank switch detection 2013-09-25 04:48:27 -07:00
Jeffrey Pfau 13a2289e25 Fix ADCS 2013-09-25 00:27:40 -07:00
Jeffrey Pfau a0505ee7d7 Pepper memory access functions with warnings 2013-09-24 23:10:51 -07:00
Jeffrey Pfau 1a3f28d2b0 Start implementing OBJWIN 2013-09-24 22:58:53 -07:00
Jeffrey Pfau cec9e67d88 Support flash game saves 2013-09-23 23:05:25 -07:00
Jeffrey Pfau abc89982be Windows on backdrop and blending with backdrop 2013-09-23 20:39:28 -07:00
Jeffrey Pfau 8132341b75 Support reading 8-bit values from palette RAM 2013-09-22 16:45:36 -07:00
Jeffrey Pfau 34ddb09516 Plumb through filename for proper saves 2013-09-22 16:45:19 -07:00
Jeffrey Pfau 388dbc0851 Fix window values where start >= max being broken 2013-09-22 15:14:14 -07:00
Jeffrey Pfau 2a6e7db693 Make GBALog actually use its log levels 2013-09-22 15:01:23 -07:00
Jeffrey Pfau e7622ed70f Fix tiles being shifted when adjusting outX 2013-09-22 11:15:52 -07:00
Jeffrey Pfau ddf078383a Fix buffer underrun in mode 0 rendering 2013-09-22 03:59:33 -07:00
Jeffrey Pfau 2ce017b555 Fix WIN0H writing with overlapping values 2013-09-22 03:00:43 -07:00
Jeffrey Pfau 4523777bee Fix initializing savegames when writing to disk fails 2013-09-22 02:13:03 -07:00
Jeffrey Pfau e80ab4c855 Make debugger optional 2013-09-21 18:10:13 -07:00
Jeffrey Pfau 9d10ca3f90 Move out int declarations for stricter parsers 2013-09-21 01:27:16 -07:00
Jeffrey Pfau 85e1c2d573 Exploit cache locality for slightly faster drawing 2013-08-03 01:15:08 -07:00
Jeffrey Pfau 6b86cdf9ef LDM should force-align loads 2013-07-31 01:59:00 -07:00
Jeffrey Pfau 3301cc9f97 Reuse code for splitting WIN0 for WIN1 2013-07-31 00:48:57 -07:00
Jeffrey Pfau d2f15f4af4 Window bounds enforced 2013-07-31 00:48:34 -07:00
Jeffrey Pfau 0939d5e2bc Fix WIN0 cases 2013-07-31 00:24:21 -07:00
Jeffrey Pfau 5a685558c7 Window respects y coordinate now 2013-07-30 21:39:25 -07:00
Jeffrey Pfau 453939fc8d Sloppy first implementation of windows 2013-07-29 03:33:22 -07:00
Jeffrey Pfau 7291fcfe9e Start windows 2013-07-29 01:46:09 -07:00
Jeffrey Pfau 27f5468e01 Writing for Window registers 2013-07-29 01:30:27 -07:00
Jeffrey Pfau 3f122dcf14 Fix 8-bit I/O writes 2013-07-29 01:30:06 -07:00
Jeffrey Pfau 15aa862d70 Small optimization for sprite drawing 2013-07-29 00:44:38 -07:00
Jeffrey Pfau 425056ca15 Ensure LDM does not write back incorrectly with register list overlaps 2013-07-27 03:02:52 -07:00
Jeffrey Pfau 9e578da5a1 Do register writeback in addressing mode 2 before actual load/store 2013-07-26 23:42:45 -07:00
Jeffrey Pfau 8b1eb01a96 Fix MUL, UMULL, UMLAL 2013-07-26 01:03:34 -07:00
Jeffrey Pfau 6321b1f827 Fix ARM_CARRY_FROM 2013-07-26 00:50:20 -07:00
Jeffrey Pfau 76cd712907 Fix modes 4 and 5 2013-07-26 00:10:33 -07:00
Jeffrey Pfau 3537099820 Fix sprites 64+ not drawing 2013-07-21 21:10:12 -07:00
Jeffrey Pfau 774b7d75bc Fix broken bitmap 2013-07-21 19:04:24 -07:00
Jeffrey Pfau 6829b54234 Bitmap of enabled sprites 2013-07-21 18:58:32 -07:00
Jeffrey Pfau edecf6c1f6 Minor optimization to backgroud mode 0 2013-07-21 18:56:45 -07:00
Jeffrey Pfau 8dc3fa9bec Use software renderer for EGL, just use it for uploading the texture 2013-07-21 05:15:02 -07:00
Jeffrey Pfau da7853bda6 Mode 5 2013-07-20 01:46:40 -07:00
Jeffrey Pfau 15a2e43b2b Fix read/write 0x0400020A 2013-07-20 01:40:17 -07:00
Jeffrey Pfau 02cb9c56c5 Reuse bitmap mode background code 2013-07-20 01:38:13 -07:00
Jeffrey Pfau 90ddf937a5 Implement modes 3 and 4 2013-07-19 21:51:14 -07:00
Jeffrey Pfau 1e4a82ef5b Update GBA BIOS from GBA.js 2013-07-18 02:14:22 -07:00
Jeffrey Pfau 6a1afbda50 8-bit write to IO 2013-07-18 02:13:49 -07:00
Jeffrey Pfau 8215afcee6 Decouple GLSL and GL mains 2013-07-17 23:31:19 -07:00
Jeffrey Pfau 49de0fb52e Different mains for SDL and EGL, supporting Raspberry Pi and BeagleBone Black 2013-05-29 21:18:25 -07:00
Jeffrey Pfau f8b0acd86a Fix tile mapping for 256-color sprites 2013-05-13 02:47:11 -07:00
Jeffrey Pfau c20efb42ff Clean up thread locking in the software renderer 2013-05-11 21:07:10 -07:00
Jeffrey Pfau 63b72657c1 Fix transformed sprites that are off the top of the screen 2013-05-11 18:36:35 -07:00
Jeffrey Pfau f7ddc3a2b6 Implement RLUnCompWram/RLUnCompVram 2013-05-11 18:22:23 -07:00
Jeffrey Pfau a6d87bbfb9 Better cycle counting for STR 2013-05-11 18:01:16 -07:00
Jeffrey Pfau b6361cdfa9 Start LDM/STM timings 2013-05-11 17:05:57 -07:00
Jeffrey Pfau 0a37300bcf Improve LDR/STR cycle counting 2013-05-11 14:55:29 -07:00
Jeffrey Pfau 013e322c0b Improved cycle counting for branches 2013-05-11 14:45:31 -07:00
Jeffrey Pfau f6592b17b8 Implement MUL timings 2013-05-11 14:35:10 -07:00
Jeffrey Pfau 5c31757912 Remove int operations and vectorize shader calculation 2013-05-08 21:10:32 -07:00
Jeffrey Pfau f246587a9d Add support for (my) joystick 2013-05-08 16:57:17 -07:00
Jeffrey Pfau 12e681392d Fragment shader now no longer requires extensions 2013-05-08 15:19:54 -07:00
Jeffrey Pfau 8047ce11d0 Fix off-by-one scanline 2013-05-07 22:22:35 -07:00
Jeffrey Pfau 5b5251434f Add background sizes to GLSL mode 0 2013-05-07 22:21:40 -07:00
Jeffrey Pfau f278805255 Fix x indexing into VRAM 2013-05-07 21:48:46 -07:00
Jeffrey Pfau 5388fb8cea Draw backdrop in GLSL renderer 2013-05-07 04:40:25 -07:00
Jeffrey Pfau 03fb87acd0 Continue implementing GLSL mode 0, now with layers and offsets 2013-05-07 04:11:49 -07:00
Jeffrey Pfau cc2262149e Reindent GBAVideoGLSLRendererProcessEvents 2013-05-07 03:36:50 -07:00
Jeffrey Pfau 20b67240ae Start on mode 0 renderer 2013-05-07 03:36:34 -07:00
Jeffrey Pfau f6a9467e86 Write to renderer VRAM 2013-05-07 03:36:15 -07:00
Jeffrey Pfau bb1e598a78 Start GLSL renderer 2013-05-07 01:04:36 -07:00
Jeffrey Pfau db96be98dc Deinit video when shutting down 2013-05-07 01:00:18 -07:00
Jeffrey Pfau 8bc5ec4222 Roll out incorrect fix for Halt bug and apply proper fix 2013-05-05 20:37:35 -07:00
Jeffrey Pfau 7ec435b94c Fix 512x512 backgrounds in Mode 0 2013-05-05 01:33:05 -07:00
Jeffrey Pfau ae3f623fd5 Overwrite IF while attempting to IntrWait 2013-05-05 00:44:30 -07:00
Jeffrey Pfau fc7aec557b Count cycles for load/store singles 2013-05-04 23:57:12 -07:00
Jeffrey Pfau 738b3dc44e Implement ArcTan2 2013-05-04 15:50:42 -07:00
Jeffrey Pfau 374aca2ff7 Move event polling to after framedraw only 2013-05-04 14:49:04 -07:00
Jeffrey Pfau ac0c7ba792 Implement BgAffineSet 2013-05-04 01:20:42 -07:00
Jeffrey Pfau fb2ddd6c32 Start implementing modes 1/2 2013-05-04 01:20:24 -07:00
Jeffrey Pfau 7373c37e19 Fix sprite blending with between layers 2013-05-03 22:23:45 -07:00
Jeffrey Pfau 813b2c0697 Partially implement frameskip 2013-05-03 10:24:56 -07:00
Jeffrey Pfau 3ad2510b78 Get rid of flags struct and redo compositing 2013-05-03 10:02:01 -07:00
Jeffrey Pfau 6ef3e3b6a8 Copy ObjAffineSet implementation from GBA.js 2013-05-03 01:43:39 -07:00
Jeffrey Pfau 2bc11c9aac 32- and 16-bit reads of OAM 2013-05-03 01:33:20 -07:00
Jeffrey Pfau 862c93916d Support edge cases for 256-color mode 0, excluding hflip 2013-05-03 01:21:25 -07:00
Jeffrey Pfau 1c6fc26bf7 Support hflip on mode 0 edges 2013-05-02 21:51:00 -07:00
Jeffrey Pfau ebb1c08840 Fix warnings on gcc 2013-05-02 00:40:12 -07:00
Jeffrey Pfau 13a46429e2 Remove -Wno-unused and fix resulting errors 2013-05-02 00:35:32 -07:00
Jeffrey Pfau a635f4de4d Implement addressing mode 1 ASR register shift 2013-05-02 00:32:04 -07:00
Jeffrey Pfau 86c228f2e4 Implement SMLAL 2013-05-02 00:29:06 -07:00
Jeffrey Pfau a80175e689 Fix sprite variant condition 2013-05-01 23:56:59 -07:00
Jeffrey Pfau 3b3f55b14c Variant and 256-color transformed sprites 2013-05-01 23:54:39 -07:00
Jeffrey Pfau 0423656ad8 Extract more into macros 2013-05-01 23:46:15 -07:00
Jeffrey Pfau d6c88fc7cb Introduce macros for sprite drawing 2013-05-01 23:39:55 -07:00
Jeffrey Pfau e3fddc5739 Support 256-color sprites 2013-05-01 23:27:49 -07:00
Jeffrey Pfau 61c6b7186e Implement UMLAL 2013-05-01 23:11:00 -07:00
Jeffrey Pfau cd73c562ea Implement addressing mode 1 LSL/LSR with register 2013-05-01 23:08:22 -07:00
Jeffrey Pfau aeecbdb56f Draw backgrounds with variant palette when appropriate 2013-05-01 02:51:33 -07:00
Jeffrey Pfau 40e9a7ef26 Update variant palettes when writing to palette 2013-05-01 02:37:15 -07:00
Jeffrey Pfau 03361f20a2 Start drawing backdrop 2013-05-01 02:32:56 -07:00
Jeffrey Pfau 2e9a64a26e Implement Sqrt 2013-05-01 00:27:31 -07:00
Jeffrey Pfau 6ed3c18afd Support IWRAM in LZ77 2013-05-01 00:24:28 -07:00
Jeffrey Pfau 5f6cf337a0 16-bit DMA address writes 2013-04-30 23:22:39 -07:00
Jeffrey Pfau da489b90f8 Ensure shifter carry-out gets bits set right 2013-04-30 21:02:56 -07:00
Jeffrey Pfau f7fbb877e0 Fix Div output registers 2013-04-30 20:54:09 -07:00
Jeffrey Pfau 118c393d1b Fix addressing mode 2 register post-indexed 2013-04-30 02:43:12 -07:00
Jeffrey Pfau 337d4dc1e6 Implement addressing mode 1 ROR with register 2013-04-30 02:42:54 -07:00
Jeffrey Pfau e1963c6e60 Implement SMULL 2013-04-30 01:42:24 -07:00
Jeffrey Pfau 698bc0ada5 Re-add 256-color 2013-04-30 01:38:19 -07:00
Jeffrey Pfau 6cdfa43e97 hflip in fast path 2013-04-29 22:05:32 -07:00
Jeffrey Pfau 87e5973039 Proper blending on sprite targets 2013-04-29 21:27:29 -07:00
Jeffrey Pfau 2d4c1fdc2c Add back compositing 2013-04-29 21:27:05 -07:00
Jeffrey Pfau 56333d3344 Use base rendering mode 2013-04-29 21:12:56 -07:00
Jeffrey Pfau 7bb4d9d5ff Throw out slow background renderer. Let me try again. 2013-04-29 00:42:04 -07:00
Jeffrey Pfau 6c2f7b3b73 Use 32-bit color internally 2013-04-28 23:01:45 -07:00
Jeffrey Pfau 7c597d5205 Rearrange some code in preparation of adding windows 2013-04-28 02:57:06 -07:00
Jeffrey Pfau dfd360bfbb Remove accidentally left in testing code 2013-04-28 01:46:43 -07:00
Jeffrey Pfau 5f6b57734d Implement character mapping 2013-04-28 01:43:39 -07:00
Jeffrey Pfau 8072ff7d2c Rotate LDR 2013-04-28 01:33:59 -07:00
Jeffrey Pfau 6450ce16b2 Fix LDR(3) 2013-04-28 01:33:45 -07:00
Jeffrey Pfau e86f7d79fb Clean up and fix conditions for CPSR V 2013-04-28 00:19:15 -07:00
Jeffrey Pfau 19f9b72c33 Fix CPSR C being written 2013-04-28 00:06:13 -07:00
Jeffrey Pfau 682684cb6d Output MUL into the right register 2013-04-27 23:44:33 -07:00
Jeffrey Pfau 2c8786ae4c Use LE instead of GE where appropriate 2013-04-27 23:44:17 -07:00
Jeffrey Pfau dd4e6b0ce1 Stub RegisterRamReset 2013-04-27 22:54:41 -07:00
Jeffrey Pfau ca959c640a Implement EEPROM 2013-04-27 21:51:58 -07:00
Jeffrey Pfau f4fa423135 EEPROM only works in DMAs 2013-04-27 20:39:14 -07:00
Jeffrey Pfau 4380ec0260 Start implementing EEPROM 2013-04-27 20:25:31 -07:00
Jeffrey Pfau e02059947c Start implementing save games 2013-04-27 19:59:41 -07:00
Jeffrey Pfau dab27463a9 Implement DivArm 2013-04-27 19:58:21 -07:00
Jeffrey Pfau fd5661e941 Fix alpha blending when neither target 1 or target 2 are set 2013-04-27 03:09:23 -07:00
Jeffrey Pfau 2e78381e55 Implement SWI 2013-04-27 02:56:34 -07:00
Jeffrey Pfau 6c44cf8dfc Implement BL 2013-04-27 02:54:16 -07:00
Jeffrey Pfau 21b9222357 Fix entering SWI mode 2013-04-27 02:50:35 -07:00
Jeffrey Pfau bd9714b540 Implement STR(2)/STRH(2) 2013-04-27 02:42:42 -07:00
Jeffrey Pfau 2fc5474d91 Implement addressing mode 1 ROR immediate 2013-04-27 01:54:57 -07:00
Jeffrey Pfau 2bc23e7aa2 Redo compositing and sprite blending 2013-04-27 01:36:06 -07:00
Jeffrey Pfau b3e1aa7853 Don't blend if not target 1 2013-04-27 00:11:04 -07:00
Jeffrey Pfau f7922c1627 Restructure background drawing code for multipalette 2013-04-26 23:59:50 -07:00
Jeffrey Pfau 1ff337c6fc Allow 256-color rendering 2013-04-26 22:21:38 -07:00
Jeffrey Pfau 13c95a2aae Build fixes for linux 2013-04-26 03:08:59 -07:00
Jeffrey Pfau 3cd5e8d093 Implement Div 2013-04-26 02:05:54 -07:00
Jeffrey Pfau d2e84f0a30 Implement IntrWait 2013-04-26 02:00:59 -07:00
Jeffrey Pfau 7c895f6091 Load files from arg 1 2013-04-26 01:50:14 -07:00
Jeffrey Pfau 301c07dda3 Implement ADC, SBC 2013-04-26 01:25:31 -07:00
Jeffrey Pfau c61812325c Transformed sprites 2013-04-26 01:06:50 -07:00
Jeffrey Pfau f91149e30f Flipped background tiles 2013-04-25 22:03:15 -07:00
Jeffrey Pfau a1910206c0 Support blending with sprites behind a background 2013-04-25 02:08:12 -07:00
Jeffrey Pfau fefbf7a296 Flip sprites vertically after applying boundary operations 2013-04-25 01:55:47 -07:00
Jeffrey Pfau cea8109c06 Run Vblank and Hblank DMAs 2013-04-25 01:50:28 -07:00
Jeffrey Pfau e9e29610a4 Read from palette memory 2013-04-25 01:48:28 -07:00
Jeffrey Pfau 65e0445375 Implement TST 2013-04-25 00:56:43 -07:00
Jeffrey Pfau cfc3ec4f3b Implement ROR 2013-04-25 00:53:24 -07:00
Jeffrey Pfau 21490dcf51 Implement CMN 2013-04-25 00:48:35 -07:00
Jeffrey Pfau c8b2d2753e Use variant palette on sprites when target 1 2013-04-25 00:28:39 -07:00
Jeffrey Pfau e1932f2411 Implement sprite flipping 2013-04-25 00:17:17 -07:00
Jeffrey Pfau 9dbd925d90 Allow for negative-y sprites 2013-04-25 00:11:27 -07:00
Jeffrey Pfau 4446e0dbde Implement blending on sprites 2013-04-24 23:49:16 -07:00
Jeffrey Pfau 07b96cddef Begin sprites 2013-04-24 23:40:22 -07:00
Jeffrey Pfau 00dd5bdaa8 Dual condition-variable non-hacky waiting-on-frame 2013-04-24 02:43:55 -07:00
Jeffrey Pfau 5122a236e0 Squelch warnings, turn on -Werror 2013-04-24 01:32:49 -07:00
Jeffrey Pfau 1c0af22990 Implement BLDALPHA 2013-04-24 01:16:03 -07:00
Jeffrey Pfau 40b00e7927 Refactor some code to enable compositing code to be shared 2013-04-24 00:50:17 -07:00
Jeffrey Pfau 0d7657e845 Implement BLDCNT (partially) and BLDY 2013-04-24 00:34:50 -07:00
Jeffrey Pfau b3d9a1918b Kludge to prevent busy-waiting while no frames are generating 2013-04-23 23:07:24 -07:00
Jeffrey Pfau 754725e124 Start using pixel flags to keep track of pixel states 2013-04-23 22:48:01 -07:00
Jeffrey Pfau 7c7e934dac Turbo mode 2013-04-23 22:32:15 -07:00
Jeffrey Pfau 190f9b41e6 Implement STRB(2) 2013-04-23 02:13:59 -07:00
Jeffrey Pfau e82fd991fa More sane way of writing 32-bit values to VRAM, palette 2013-04-23 02:05:10 -07:00
Jeffrey Pfau 3a76cdc6e0 VRAM reading 2013-04-23 02:03:06 -07:00
Jeffrey Pfau 21704ab37a Allow use of wrong LZ77 destination 2013-04-22 22:55:49 -07:00
Jeffrey Pfau 11d1de39e1 Fix non-zero character base 2013-04-22 02:28:03 -07:00
Jeffrey Pfau bcf446737c Start implementing transparency 2013-04-22 02:07:35 -07:00
Jeffrey Pfau e1d5f3f457 Fix drawing wide backgrounds 2013-04-22 02:07:19 -07:00
Jeffrey Pfau b48b868cfb Write to VRAM 2013-04-22 01:59:25 -07:00
Jeffrey Pfau f136d8165a Was accidentally chopping off a bit in LZ77UnCompVram 2013-04-22 01:12:48 -07:00
Jeffrey Pfau 060ae364b5 Start drawing backgrounds 2013-04-22 01:11:48 -07:00
Jeffrey Pfau 764b6010c0 Sort backgrounds 2013-04-21 20:59:43 -07:00
Jeffrey Pfau a6fb91bb7d Do some cleanup of pthread data 2013-04-21 14:52:25 -07:00
Jeffrey Pfau 225729b79c Implement BGxHOFS/BGxVOFS 2013-04-21 14:43:28 -07:00
Jeffrey Pfau 3ec0afa8fc Implement BGxCNT 2013-04-21 14:09:41 -07:00
Jeffrey Pfau 265bbe4f8f Add struct for keeping track of background state 2013-04-21 13:17:15 -07:00
Jeffrey Pfau 933e8330d2 Start implementing DISPCNT 2013-04-21 13:16:06 -07:00
Jeffrey Pfau cdddcbf7aa Pass off video registers to renderer 2013-04-21 12:39:33 -07:00
Jeffrey Pfau 573fcead5d Start building up structs for video registers 2013-04-21 12:34:24 -07:00
Jeffrey Pfau 9f425c53c8 Spring IRQs if we need to 2013-04-21 01:09:11 -07:00
Jeffrey Pfau 3ca5e52de1 Handle key, quit events 2013-04-21 00:35:21 -07:00
Jeffrey Pfau 71986b0477 Support writing to palette, display palette on screen 2013-04-20 22:08:58 -07:00
Jeffrey Pfau 2860714714 Draw output buffer 2013-04-20 21:40:06 -07:00
Jeffrey Pfau eba5d547b9 Start using SDL for graphics syncing 2013-04-20 20:29:53 -07:00
Jeffrey Pfau a094024ad5 Add missing files 2013-04-20 18:11:27 -07:00
Jeffrey Pfau 67d25794e1 Fix LDMIA/STMIA 2013-04-20 18:03:59 -07:00
Jeffrey Pfau 14100f19d1 Implement LSL(2) 2013-04-20 18:03:48 -07:00
Jeffrey Pfau 0bfb77106b Properly init and deinit renderers 2013-04-20 16:47:04 -07:00
Jeffrey Pfau b4cee4c286 Properly isolate threading 2013-04-20 16:44:03 -07:00
Jeffrey Pfau fffe39153f Wait on thread initialization before returning from thread creation 2013-04-20 16:40:08 -07:00
Jeffrey Pfau 9ba9fac898 Restructure video memory 2013-04-20 16:16:37 -07:00
Jeffrey Pfau cb48145ea3 Move main emulation into thread 2013-04-20 15:54:09 -07:00
Jeffrey Pfau ff03bcf0f0 Fix MidiKey2Freq 2013-04-20 14:46:53 -07:00
Jeffrey Pfau 18fae08450 Fix Load/store shifters 2013-04-20 14:21:42 -07:00
Jeffrey Pfau cd0f75c83f Implement MLA 2013-04-20 13:36:42 -07:00
Jeffrey Pfau bf54a68b0e Implement UMULL 2013-04-20 13:22:10 -07:00
Jeffrey Pfau 63e809550d Implement MidiKey2Freq 2013-04-20 03:01:50 -07:00
Jeffrey Pfau e272481ccd Implement LDR(2) 2013-04-20 02:57:20 -07:00
Jeffrey Pfau e83936152d Implement LZ77 decompression 2013-04-20 02:52:10 -07:00
Jeffrey Pfau cf9a7224a3 Init video memory from the dummy renderer 2013-04-20 02:51:40 -07:00
Jeffrey Pfau 1972e73bec Define memory regions 2013-04-19 23:34:26 -07:00
Jeffrey Pfau f72c195739 Labels for I/O regions in the switch statement 2013-04-19 23:04:01 -07:00
Jeffrey Pfau 5d81a4eb18 Remainder of timer infrastructure 2013-04-19 23:01:04 -07:00
Jeffrey Pfau 57dcbef030 Implement timers from GBA.js implementation 2013-04-19 22:26:44 -07:00
Jeffrey Pfau 6087ad8c5f Fix reading from DISPSTAT 2013-04-19 21:40:57 -07:00
Jeffrey Pfau adfd8f6872 Make sure if we reset the CPSR to the SPSR that we check if we get tossed into Thumb 2013-04-19 21:26:00 -07:00