Skip to content

Instantly share code, notes, and snippets.

View phoenix_birthday
// For compatibility. Not sure with what.
#define int const void *
// It's good practice to inline frequently used functions.
#define main() main??(??)
// Never assume that NULL is 0. This will keep potential future collaborators on their toes.
#undef NULL
#define NULL 26880
#define O430 &15??(main??)
@commandblockguy
commandblockguy / hook_manager.txt
Created Feb 19, 2020
Random incomprehensible scrawlings about hook manager spec
View hook_manager.txt
Currently unnamed CE hook manager:
The system will have the following components:
Hook executors - Each TI-OS hook has an associated entry point which is responsible for calling all user hooks for that type.
Hook arrays - An null-terminated array of pointers to user hooks for a particular hook subtype, sorted by priority. The array is read by the hook executor each time it is called, and is completely overwritten by the hook manager each time a change is necessary.
Hook manager - A library that is responsible for installing the hook executors and maintaining the hook arrays. The hook manager is only called when installing, changing, or viewing metadata of user hooks.
Hook database - Internal data storage for the hook manager than consists of a list of hooks and their metadata.
User hooks:
User hooks are like OS hooks, but are called by the hook executor rather than TI-OS
@commandblockguy
commandblockguy / CMakeLists.txt
Created Nov 7, 2019
CMakeLists.txt file for use with the CE C toolchain and CLion
View CMakeLists.txt
cmake_minimum_required(VERSION 3.15)
# Change the project name below
project(projectname C)
set(CMAKE_C_STANDARD 90)
include_directories(src)
include_directories(src/gfx)
include_directories($ENV{CEDEV}/include)
You can’t perform that action at this time.