8000 GitHub - Kaelygon/ukaelAudio: 8-bit audio generator with terminal GUI
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Kaelygon/ukaelAudio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ukaelAudio

This codebase emulates a system limited to uint8_t and uint16_t All pointers are still stored as size_t, since uint16_t pointers would require actually emulating a 16-bit system. I still wish to keep this project x86-64 compatible, while sticking within unsigned 16-bit arithmetic as much as possible.

At current stage the program doesn't have any functionality. I am still figuring out what tools I will need and developing terminal system as I go.

Goals:

  • Run on as low end hardware as possibly. Mayhaps specs similar to Game Boy Color?
  • Under 8MB rom
  • Audio:
    • Sample rate: 32768 hz
    • 8 tracks
    • Simple stereo by volume adjust, will see how viable other mixing is
    • 16-bit Samples are sent to audio generator in 256 sample buffer
    • While audio card is playing the buffer, a new buffer is being generated

Build all programs in ./src/
Built binaries can be found in ./build/

cmake ./
make

Optional CMake configuration

cmake ./ -DBUILD_WHAT=${BUILD_WHAT} -DBUILD_TYPE=${BUILD_TYPE} -DSRC_DIR=${SRC_DIR} -DPROG=${PROG} -DOMP_ENABLED=${USE_OMP}"

Syntax -D[FLAG]=[VALUE]
-DPROG = Base name of main.c
-DSRC_DIR = Path to main.c
-DINCLUDE_DIR = Path to header files root
-DBUILD_TYPE = Options: RELEASE, DEBUG, ASAN
-DBUILD_WHAT = Options: ACTIVE, ALL
-DOMP_ENABLED = Is OMP multi-threading enabled? NOTE: Valgrind claims OMP is leaking few hundred bytes per thread. 

OMP is only used by testing tools.

./vscode folder has Code OSS setup for all the build variants, it uses CMakeBuild.sh to simplify the arguments Example of a generated command to build runUnitTests binary in ./tools/unitTest folder

cmake ./CMakeLists.txt -DBUILD_WHAT=ACTIVE -DBUILD_TYPE=DEBUG -DSRC_DIR=./tools/unitTest -DPROG=runUnitTests -DOMP_ENABLED=0

About

8-bit audio generator with terminal GUI

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

0