Commit Graph

1306 Commits

Author SHA1 Message Date
Zihao Yu ac0249005a apps,litenes,ppu: do not examine every sprite
* also put the checking of sprite0 hit out of the inner loop
2019-04-29 16:08:42 +08:00
Zihao Yu 83f10b8cc6 apps,litenes,fce: fix frame_cnt 2019-04-29 14:22:01 +08:00
Zihao Yu e6c8d1952f apps,litenes,ppu: use memcpy() for DMA 2019-04-29 13:39:00 +08:00
Zihao Yu 93b25bf7f2 apps,litenes,memory: inline mmc and psg accessing 2019-04-29 13:24:13 +08:00
Zihao Yu 1a98d2009d apps,litenes,cpu: optimize lazy flag for zf 2019-04-29 12:48:49 +08:00
Zihao Yu e98b03d54d apps,litenes,cpu: remove extra cycle statistic during addressing
* it seems still work
2019-04-29 12:41:02 +08:00
Zihao Yu aebf0f2211 apps,litenes,cpu: let flag be an integer instead of a bit
* this can simplify some flag computation
* to use the flag as a bit, use cpu_flag_setbit(flag)
2019-04-29 11:45:59 +08:00
Zihao Yu e8dfb2fecc apps,litenes,cpu: do not compute target if the branch is not taken 2019-04-29 11:43:58 +08:00
Zihao Yu d506f5e8fe apps,litenes,ppu: change palette cache to color cache 2019-04-29 10:08:45 +08:00
Zihao Yu a3a875bb7a apps,litenes: clean up 2019-04-29 02:10:41 +08:00
Zihao Yu b6ccd9e998 apps,litenes,ppu: optimize sprite drawing 2019-04-29 02:08:22 +08:00
Zihao Yu ad21d7b8e8 apps,litenes,ppu: misc optimization 2019-04-29 00:15:41 +08:00
Zihao Yu 1255a78591 apps,litenes,ppu: skip transparent tiles 2019-04-28 22:13:43 +08:00
Zihao Yu 3d67310923 apps,litenes,ppu: use one dimension array for XHL tables
* this can reduce the address calculation
2019-04-28 21:57:32 +08:00
Zihao Yu 797d39291f apps,litenes,fce: read key during the processing of scanlines
* this will reduce the latency of key respones when the host is very
slow
2019-04-28 21:54:46 +08:00
Zihao Yu 0218408031 apps,litenes,ppu: use struct for sprite 2019-04-28 11:34:08 +08:00
Zihao Yu 8b496feda8 apps,litenes,ppu: optimize loop 2019-04-27 21:54:57 +08:00
Zihao Yu 236abcd412 apps,litenes,ppu,draw: remove boundary check 2019-04-27 21:16:33 +08:00
Zihao Yu 6aa80a43c6 apps,litenes,ppu: optimize loop boundary 2019-04-27 20:05:44 +08:00
Zihao Yu 7e645c1382 apps,litenes,ppu: use uint16_t for XHL table, instead of uint64_t 2019-04-27 20:04:38 +08:00
Zihao Yu 107eaf04b1 apps,litenes,ppu: fix scanline bug 2019-04-27 16:08:24 +08:00
Zihao Yu 4f623fc794 apps,litenes,ppu: use preprocess table to obtain attribute 2019-04-25 23:11:28 +08:00
Yanyan Jiang ce2176a678
Merge pull request #40 from jiangyy/litenes-opt
Litenes opt
2019-04-25 00:47:47 +00:00
Zihao Yu 331d001b84 apps,litenes,fce: add PROFILE macro 2019-04-24 22:25:55 +08:00
Zihao Yu 4f3092cb8a apps,litenes: add non-stretch display mode 2019-04-24 22:18:47 +08:00
Zihao Yu b38213b4cd apps,litenes,ppu: only guard ppu.PPUADDR when it is updated 2019-04-24 22:17:35 +08:00
Zihao Yu b6556c8cd6 apps,litenes,ppu: optimize ppu_draw_sprite_scanline() 2019-04-24 22:15:25 +08:00
Zihao Yu b4e5514aee apps,litenes,cpu: put the up-to-date bit of ZF at position 31
* this may help to use "branch negative" instructions to check it
2019-04-24 22:12:32 +08:00
Zihao Yu 7d29290c90 apps,litenes,memory: reorder the priorty of MMIO 2019-04-24 22:10:37 +08:00
Zihao Yu a735ebed8e apps,litenes,cpu: use local variable in cpu_run() 2019-04-24 17:53:03 +08:00
Zihao Yu 933a7e68b4 apps,litenes,cpu: write to CPU RAM directly if the address is within the zero page 2019-04-24 16:35:54 +08:00
Zihao Yu 9f5db2b0fc apps,litenes,cpu: refactor cycle calculation 2019-04-24 15:46:56 +08:00
Zihao Yu b68d0b63e9 apps,litenes,cpu: refactor statistic 2019-04-24 15:19:52 +08:00
Zihao Yu 056018ec1f apps,litenes,cpu: lazy flag computation for ZF and NF 2019-04-24 14:00:25 +08:00
Zihao Yu 91cf3d2db9 apps,litenes,cpu: use macro to define decode and execute functions
* This can let `op_address` and `op_value` become local, which provides
  more change for optimization.
* Some instructions do not need to load memory in decode stage, therefore
  we provide the `notload` version of decode functions for them.
2019-04-24 11:41:33 +08:00
Zihao Yu 6270a141ee apps,litenes,cpu: optimize memory accessing 2019-04-24 09:57:38 +08:00
Zihao Yu 963be42f60 apps,litenes,cpu: use uint32_t for registers 2019-04-24 09:00:42 +08:00
Zihao Yu 1b86ce2cf2 apps,litenes: optimize a lot 2019-04-22 09:49:39 +08:00
Zihao Yu cea7f87d78 apps,litenes,cpu: use switch-case instead of function table 2019-04-22 00:23:48 +08:00
Yanyan Jiang 5bd5d63234
Merge pull request #39 from jiangyy/fix-cputest
testss,cputest,Makefile: cancel rules included by Makefile.check
2019-04-21 07:15:13 +00:00
Zihao Yu 6fb18c6b47 tests,cputest,Makefile: cancel rules included by Makefile.check
* originally these rules will be called with empty $(BINARY)
2019-04-20 17:04:47 +08:00
Yanyan Jiang f9dd248225
Merge pull request #37 from jiangyy/nemu-gdb
am,platform,nemu: add rule for gdb
2019-04-03 22:46:07 +08:00
Yanyan Jiang b3ee42adfc
Merge pull request #36 from jiangyy/navy-static-heap
am,navy,trm: use static array for heap
2019-04-03 22:45:07 +08:00
Yanyan Jiang 781bead355
Merge pull request #35 from jiangyy/riscv32-nemu
Riscv32 nemu
2019-04-03 22:44:22 +08:00
Yanyan Jiang 04068ef4bc
Merge pull request #34 from jiangyy/fix-cputest-compile
tests,cputest,Makefile: set correct default rule
2019-04-03 22:43:42 +08:00
Yanyan Jiang 367176254f
Merge pull request #33 from jiangyy/mips32-nested-exception
am,mips32-nemu: support nested exception for QEMU
2019-04-03 22:43:20 +08:00
Yanyan Jiang 4eac8bff15
Merge pull request #32 from jiangyy/remove-reorder-flag
am,arch: remove -fno-reorder-functions
2019-04-03 22:42:47 +08:00
Yanyan Jiang f7fdcd487b
Merge pull request #30 from jiangyy/riscv32-noop
Riscv32 noop
2019-04-03 22:42:16 +08:00
Zihao Yu 8b4f808d91 am,platform,nemu: add rule for gdb 2019-03-31 21:55:34 +08:00
Zihao Yu 6fa010728e am,navy,trm: use static array for heap
* Now nanos-lite use ELF loader. Compared to binary generated by objcopy,
  static array will not affect the size of the program.
2019-03-31 17:15:26 +08:00