forked from smunaut/doom_riscv
-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Apply tweaks and optimizations from RP2040 Doom #1
Comments
tseng0201
added a commit
to tseng0201/doom_riscv
that referenced
this issue
Jan 13, 2023
Reduce memory use for doom Control flag "DISABLE_WIPES" and "COMBINE_SCREENS" are define in doomdef.h. DISABLE_WIPES will cut wipe screen effect, COMBINE_SCREENS will discard screen buffer sysprog21#1、sysprog21#2、sysprog21#3. V_Init() function make four buffers pointer to same address(address of screen buffer #0) In v_video.c DOOMHEAP are replaced by static array and it size are controled by DOOM_HEAP_SIZE, both are in i_system.c Screen buffers are replaced by static array and I_AllocLow will return screen buffers directly in i_system.c If cut wipe screen effect,in f_wipe.c only wipe_StartScreen()、wipe_EndScreen()、wipe_ScreenWipe() will remain, wipe_ScreenWipe() only copy data from screen buffer sysprog21#3 to screen buffer sysprog21#1 directly.
tseng0201
added a commit
to tseng0201/doom_riscv
that referenced
this issue
Jan 13, 2023
Reduce memory use for doom Control flag "DISABLE_WIPES" and "COMBINE_SCREENS" are define in doomdef.h. DISABLE_WIPES will cut wipe screen effect, COMBINE_SCREENS will discard screen buffer sysprog21#1、sysprog21#2、sysprog21#3. V_Init() function make four buffers pointer to same address(address of screen buffer #0) In v_video.c. DOOMHEAP are replaced by static array and it size are controled by DOOM_HEAP_SIZE, both are in i_system.c. Screen buffers are replaced by static array and I_AllocLow will return screen buffers directly in i_system.c. If cut wipe screen effect, in f_wipe.c only wipe_StartScreen()、wipe_EndScreen()、wipe_ScreenWipe() will remain, wipe_ScreenWipe() only copy data from screen buffer sysprog21#3 to screen buffer sysprog21#1 directly.
tseng0201
added a commit
to tseng0201/doom_riscv
that referenced
this issue
Jan 13, 2023
Reduce memory use for doom Control flag "DISABLE_WIPES" and "COMBINE_SCREENS" are define in doomdef.h. DISABLE_WIPES will cut wipe screen effect, COMBINE_SCREENS will discard screen buffer sysprog21#1、sysprog21#2、sysprog21#3. V_Init() function make four screen buffers pointer to same address(address of screen buffer #0) In v_video.c. DOOMHEAP are replaced by static array and it size are controled by DOOM_HEAP_SIZE, both are in i_system.c. Screen buffers are replaced by static array and I_AllocLow will return screen buffers directly in i_system.c. If cut wipe screen effect, in f_wipe.c only wipe_StartScreen()、wipe_EndScreen()、wipe_ScreenWipe() will remain, wipe_ScreenWipe() only copy data from screen buffer sysprog21#3 to screen buffer #0 directly.
tseng0201
added a commit
to tseng0201/doom_riscv
that referenced
this issue
Jan 13, 2023
Reduce memory use for doom Control flag "DISABLE_WIPES" and "COMBINE_SCREENS" are define in doomdef.h. DISABLE_WIPES will cut wipe screen effect, COMBINE_SCREENS will discard screen buffer sysprog21#1、sysprog21#2、sysprog21#3. V_Init() function make four screen buffers pointer to same address(address of screen buffer #0) In v_video.c. DOOMHEAP are replaced by static array and it size are controled by DOOM_HEAP_SIZE, both are in i_system.c. Screen buffers are replaced by static array and I_AllocLow will return screen buffers directly in i_system.c. If cut wipe screen effect, in f_wipe.c only wipe_StartScreen()、wipe_EndScreen()、wipe_ScreenWipe() will remain, wipe_ScreenWipe() only copy data from screen buffer sysprog21#3 to screen buffer #0 directly.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
With 264K of RAM, two CortexM0+ CPUs and a decent clock speed, the RP2040 is certainly resource-constraint. RP2040 Doom did impressive work to tweak and optimize Doom.
The text was updated successfully, but these errors were encountered: