Port Graph 90+E du port PRIZM de CGDOOM par Martin Poupe.
Go to file
Lephenixnoir dce39fcbf5
Offer Bfile vs. mmap dynamically
2021-08-02 21:55:39 +02:00
CGDOOM-minisdk/CGDOOM Offer Bfile vs. mmap dynamically 2021-08-02 21:55:39 +02:00
cgdoom Offer Bfile vs. mmap dynamically 2021-08-02 21:55:39 +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 Properly credit authors of Nspire ports 2021-08-01 13:22:58 +02:00

README

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/