Port Graph 90+E du port PRIZM de CGDOOM par Martin Poupe.
Go to file
Lephenixnoir b9c676ea4e
Support multiple zones in Z_Malloc and add user stack leftover
lumpinfo is now allocated in Z_Malloc because it's needed for some
larger WADs.

More heap is needed to compensate and to support larger WADs fully, so
the unused part of the user stack is added as a second zone.

This makes at least the start of the DOOM Ultimate WAD playable.
2021-07-29 16:45:26 +02:00
CGDOOM-minisdk/CGDOOM G3A for optimized version 2021-07-28 23:16:45 +02:00
cgdoom Support multiple zones in Z_Malloc and add user stack leftover 2021-07-29 16:45:26 +02:00
cgemul Inital commit 2015-04-14 19:16:51 -05:00
.gitignore Build system 2021-07-17 10:46:35 +02:00
Changelog Inital commit 2015-04-14 19:16:51 -05:00
README Fix level end screen 2021-07-29 10:13:00 +02:00

README

This repository is a fork of CGDOOM which was ported originally by MPoupe.

Credit goes to:
* MPoupe for the original fx-CG 10/20 port of DOOM.
* ComputerNerd for attempts at an fx-CG 50 port, which this repository is
  based on.
* Lephenixnoir for the final fixes and fx-CG 50 version.

TODO:
-> Fix screen not cleared when changing resolution, add larger resolutions
-> Try and support more WADs
-> Reenable LTO if possible
-> Try and use more memory regions in z_zone.c
-> Overclocking etc.

CGDOOM used to be compiled with the mini-SDK. However, it's become quite
difficult to get a copy of that. Instead, this port is built with a slightly
modified PrizmSDK from Jonimoose/libfxcg.

The differences are (I might push it later):
* TOOLCHAIN_PREFIX=sh-elf- (in libc/ and libfxcg/)
* Syscall 0x1B0B, getSecondaryVramAddress() is added in libfxcg/
* abort() is removed from libc/ (CGDOOM has its own)
* calloc() defined in libc/ (just a call to sys_calloc)
* sys_calloc() fixed in libfxcg/ to use memset (memsetZero is broken)
* Linker script outputs in elf32-sh format
* Linker script sets 500k of RAM instead of 64k
* LTO disabled (hopefully it could be reenabled later)
* Syscall memcpy() (apparently broken) replaced by fxlibc memcpy()
* fxlibc qsort() is added in libc/

[1] https://github.com/Jonimoose/libfxcg/