Commit graph

  • c8b2d2753e Use variant palette on sprites when target 1 Jeffrey Pfau 2013-04-25 00:28:39 -07:00
  • e1932f2411 Implement sprite flipping Jeffrey Pfau 2013-04-25 00:17:17 -07:00
  • 9dbd925d90 Allow for negative-y sprites Jeffrey Pfau 2013-04-25 00:11:27 -07:00
  • 4446e0dbde Implement blending on sprites Jeffrey Pfau 2013-04-24 23:49:16 -07:00
  • 07b96cddef Begin sprites Jeffrey Pfau 2013-04-24 23:40:22 -07:00
  • 00dd5bdaa8 Dual condition-variable non-hacky waiting-on-frame Jeffrey Pfau 2013-04-24 02:43:55 -07:00
  • 5122a236e0 Squelch warnings, turn on -Werror Jeffrey Pfau 2013-04-24 01:24:48 -07:00
  • 1c0af22990 Implement BLDALPHA Jeffrey Pfau 2013-04-24 01:16:03 -07:00
  • 40b00e7927 Refactor some code to enable compositing code to be shared Jeffrey Pfau 2013-04-24 00:50:17 -07:00
  • 0d7657e845 Implement BLDCNT (partially) and BLDY Jeffrey Pfau 2013-04-24 00:34:50 -07:00
  • b3d9a1918b Kludge to prevent busy-waiting while no frames are generating Jeffrey Pfau 2013-04-23 23:07:24 -07:00
  • 754725e124 Start using pixel flags to keep track of pixel states Jeffrey Pfau 2013-04-23 22:48:01 -07:00
  • 7c7e934dac Turbo mode Jeffrey Pfau 2013-04-23 22:32:15 -07:00
  • 190f9b41e6 Implement STRB(2) Jeffrey Pfau 2013-04-23 02:13:59 -07:00
  • e82fd991fa More sane way of writing 32-bit values to VRAM, palette Jeffrey Pfau 2013-04-23 02:05:10 -07:00
  • 3a76cdc6e0 VRAM reading Jeffrey Pfau 2013-04-23 02:03:06 -07:00
  • 21704ab37a Allow use of wrong LZ77 destination Jeffrey Pfau 2013-04-22 22:55:49 -07:00
  • 11d1de39e1 Fix non-zero character base Jeffrey Pfau 2013-04-22 02:28:03 -07:00
  • bcf446737c Start implementing transparency Jeffrey Pfau 2013-04-22 02:07:35 -07:00
  • e1d5f3f457 Fix drawing wide backgrounds Jeffrey Pfau 2013-04-22 02:07:19 -07:00
  • b48b868cfb Write to VRAM Jeffrey Pfau 2013-04-22 01:59:25 -07:00
  • f136d8165a Was accidentally chopping off a bit in LZ77UnCompVram Jeffrey Pfau 2013-04-22 01:12:48 -07:00
  • 060ae364b5 Start drawing backgrounds Jeffrey Pfau 2013-04-22 01:11:48 -07:00
  • 764b6010c0 Sort backgrounds Jeffrey Pfau 2013-04-21 20:59:43 -07:00
  • a6fb91bb7d Do some cleanup of pthread data Jeffrey Pfau 2013-04-21 14:52:25 -07:00
  • 225729b79c Implement BGxHOFS/BGxVOFS Jeffrey Pfau 2013-04-21 14:43:28 -07:00
  • 3ec0afa8fc Implement BGxCNT Jeffrey Pfau 2013-04-21 14:09:41 -07:00
  • 265bbe4f8f Add struct for keeping track of background state Jeffrey Pfau 2013-04-21 13:17:15 -07:00
  • 933e8330d2 Start implementing DISPCNT Jeffrey Pfau 2013-04-21 12:48:14 -07:00
  • cdddcbf7aa Pass off video registers to renderer Jeffrey Pfau 2013-04-21 12:39:33 -07:00
  • 573fcead5d Start building up structs for video registers Jeffrey Pfau 2013-04-21 12:33:03 -07:00
  • 9f425c53c8 Spring IRQs if we need to Jeffrey Pfau 2013-04-21 01:09:11 -07:00
  • 3ca5e52de1 Handle key, quit events Jeffrey Pfau 2013-04-21 00:35:21 -07:00
  • 71986b0477 Support writing to palette, display palette on screen Jeffrey Pfau 2013-04-20 22:08:58 -07:00
  • 2860714714 Draw output buffer Jeffrey Pfau 2013-04-20 21:40:06 -07:00
  • eba5d547b9 Start using SDL for graphics syncing Jeffrey Pfau 2013-04-20 20:29:53 -07:00
  • a094024ad5 Add missing files Jeffrey Pfau 2013-04-20 18:08:52 -07:00
  • 67d25794e1 Fix LDMIA/STMIA Jeffrey Pfau 2013-04-20 18:03:59 -07:00
  • 14100f19d1 Implement LSL(2) Jeffrey Pfau 2013-04-20 18:03:48 -07:00
  • 0bfb77106b Properly init and deinit renderers Jeffrey Pfau 2013-04-20 16:47:04 -07:00
  • b4cee4c286 Properly isolate threading Jeffrey Pfau 2013-04-20 16:44:03 -07:00
  • fffe39153f Wait on thread initialization before returning from thread creation Jeffrey Pfau 2013-04-20 16:40:08 -07:00
  • 9ba9fac898 Restructure video memory Jeffrey Pfau 2013-04-20 16:16:37 -07:00
  • cb48145ea3 Move main emulation into thread Jeffrey Pfau 2013-04-20 15:54:09 -07:00
  • ff03bcf0f0 Fix MidiKey2Freq Jeffrey Pfau 2013-04-20 14:46:53 -07:00
  • 18fae08450 Fix Load/store shifters Jeffrey Pfau 2013-04-20 14:21:42 -07:00
  • cd0f75c83f Implement MLA Jeffrey Pfau 2013-04-20 13:36:42 -07:00
  • bf54a68b0e Implement UMULL Jeffrey Pfau 2013-04-20 13:22:10 -07:00
  • 63e809550d Implement MidiKey2Freq Jeffrey Pfau 2013-04-20 03:01:50 -07:00
  • e272481ccd Implement LDR(2) Jeffrey Pfau 2013-04-20 02:57:20 -07:00
  • e83936152d Implement LZ77 decompression Jeffrey Pfau 2013-04-20 02:52:10 -07:00
  • cf9a7224a3 Init video memory from the dummy renderer Jeffrey Pfau 2013-04-20 02:51:40 -07:00
  • 1972e73bec Define memory regions Jeffrey Pfau 2013-04-19 23:34:26 -07:00
  • f72c195739 Labels for I/O regions in the switch statement Jeffrey Pfau 2013-04-19 23:04:01 -07:00
  • 5d81a4eb18 Remainder of timer infrastructure Jeffrey Pfau 2013-04-19 23:01:04 -07:00
  • 57dcbef030 Implement timers from GBA.js implementation Jeffrey Pfau 2013-04-19 22:26:44 -07:00
  • 6087ad8c5f Fix reading from DISPSTAT Jeffrey Pfau 2013-04-19 21:40:57 -07:00
  • adfd8f6872 Make sure if we reset the CPSR to the SPSR that we check if we get tossed into Thumb Jeffrey Pfau 2013-04-19 21:26:00 -07:00
  • 633a87269a Initialize cpu->privilegeMode Jeffrey Pfau 2013-04-19 21:09:00 -07:00
  • aa7ef287bc Squelch HLE BIOS warnings Jeffrey Pfau 2013-04-19 21:04:53 -07:00
  • 283a48613b Read/write REG_IF Jeffrey Pfau 2013-04-19 00:05:13 -07:00
  • 9b1f3c3c73 Init GBA I/O registers Jeffrey Pfau 2013-04-19 00:04:50 -07:00
  • 0ba7451e3a Install SIGINT signal handler for debugger Jeffrey Pfau 2013-04-18 01:52:46 -07:00
  • 0b468a9db8 Null-check that DebugVectors get generated Jeffrey Pfau 2013-04-18 01:39:51 -07:00
  • 5f1f6088bd Implement MUL Jeffrey Pfau 2013-04-18 01:35:48 -07:00
  • 783b2a3e09 Implement ADD(5) Jeffrey Pfau 2013-04-18 01:24:46 -07:00
  • 422961a2df 8-bit I/O reads Jeffrey Pfau 2013-04-18 01:19:57 -07:00
  • 97b669e4d1 Store vcount back in IO Jeffrey Pfau 2013-04-18 01:19:41 -07:00
  • 0048de2108 Fix addressing mode 3 immediate Jeffrey Pfau 2013-04-18 01:06:19 -07:00
  • b5cbd55718 Read back I/O memory when reading 32-bit Jeffrey Pfau 2013-04-18 00:58:42 -07:00
  • 1e1c8fd2dd Ensure that DMAs read back from I/O memory properly Jeffrey Pfau 2013-04-18 00:58:22 -07:00
  • 4f8c288f20 Ensure cpsr.t reads back out properly Jeffrey Pfau 2013-04-18 00:19:41 -07:00
  • ed48ab1c64 Fix storing SPSR Jeffrey Pfau 2013-04-18 00:15:45 -07:00
  • 062e09ccf5 Implement MSRI Jeffrey Pfau 2013-04-18 00:09:28 -07:00
  • fdf36f5820 Implement MRS Jeffrey Pfau 2013-04-18 00:06:48 -07:00
  • b3832205fc Fix some MRS/MSR encoding problems Jeffrey Pfau 2013-04-18 00:03:39 -07:00
  • 6608ae282c Ensure loads to PC work Jeffrey Pfau 2013-04-17 23:54:31 -07:00
  • cb03781a5b Implement LDM, STM Jeffrey Pfau 2013-04-17 23:44:35 -07:00
  • dd479ad907 Now include source for HLE BIOS, even without assembler script Jeffrey Pfau 2013-04-17 00:46:32 -07:00
  • 54fffb7fff Add HLE BIOS from GBA.js Jeffrey Pfau 2013-04-17 00:45:23 -07:00
  • 38b1c8d235 Make sure CPSR is updated for IRQ mode properly Jeffrey Pfau 2013-04-17 00:29:20 -07:00
  • f30b367c7e Make sure to rewrite active region data when jumping to IRQ handler Jeffrey Pfau 2013-04-17 00:24:00 -07:00
  • 45fcd0fcb5 Implement FastCpuSet Jeffrey Pfau 2013-04-16 23:52:53 -07:00
  • c143dec77d Fix ADD(4) and MOV(3) Jeffrey Pfau 2013-04-16 23:52:30 -07:00
  • 4b4914afb6 Implement MUL Jeffrey Pfau 2013-04-16 23:26:49 -07:00
  • 6b07dd33af Implement ASR(1) Jeffrey Pfau 2013-04-16 23:22:01 -07:00
  • 8c03c20019 Implement HALT Jeffrey Pfau 2013-04-16 23:14:16 -07:00
  • e88d177582 Copy GBA.js DMA implementation Jeffrey Pfau 2013-04-16 23:13:52 -07:00
  • 20622b6135 Copy some IRQ infrastructure from GBA.js Jeffrey Pfau 2013-04-16 19:41:09 -07:00
  • bc9d0690bb Clean up extra backslashes Jeffrey Pfau 2013-04-16 19:29:00 -07:00
  • 2d0c3bf275 Implement IRQs Jeffrey Pfau 2013-04-16 07:50:34 -07:00
  • 2da11dd523 Continue implementing IRQs Jeffrey Pfau 2013-04-16 07:42:20 -07:00
  • 4dd98f4c25 Remove typo struct member Jeffrey Pfau 2013-04-16 07:20:28 -07:00
  • 9ac6f6d3bf Start implementing IRQ Jeffrey Pfau 2013-04-16 07:18:25 -07:00
  • 7de2c91efb Copy DISPSTAT implementation from GBA.js Jeffrey Pfau 2013-04-16 07:10:38 -07:00
  • e874266343 Initialize video->eventDiff Jeffrey Pfau 2013-04-15 23:15:02 -07:00
  • 2fe2c80ae5 Add dummy renderer + frame counting infrastructure from GBA.js Jeffrey Pfau 2013-04-15 23:01:40 -07:00
  • 9b5d5d6478 Start implementing events + add video stubs Jeffrey Pfau 2013-04-15 22:18:28 -07:00
  • 1838cc0597 Implement waitstate adjusting Jeffrey Pfau 2013-04-15 01:10:53 -07:00
  • fe5a8d6254 Add function for loading from I/O Jeffrey Pfau 2013-04-14 23:30:11 -07:00