CGDoom/README

43 lines
1.7 KiB
Plaintext

This repository is a fork of CGDOOM which was ported originally by MPoupe.
Credit goes to:
* Mrakoplaz for the original TI-Nspire port from MS-DOS sources.
* Critor for the Nspire CX (now CX II) port (which includes support for a
number of WAD files).
* MPoupe for the original fx-CG 10/20 port of DOOM.
* ComputerNerd for the first attempts at an fx-CG 50 port.
* Lephenixnoir for the final fixes and fx-CG 50 version.
TODO:
-> Fix screen not cleared when changing resolution
-> Shareware WAD crashes at the end of E1M4 (and in E1M9)
-> Ultimate DOOM WAD runs out of memory at the end of E1M2
-> Some bad textures here and there
-> Supply more VRAM memory to internal allocator
-> Level selector
-> Rate-limit the game when overclocking
-> Run key?
-> FPS counter on-screen
-> Try and support more WADs
-> Reenable LTO if possible
-> Built-in overclocking?
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/
* Linker script provides addresses to unused section of user RAM
[1] https://github.com/Jonimoose/libfxcg/