Skip to content

SDK v6.1.0

Compare
Choose a tag to compare
@github-actions github-actions released this 02 Oct 16:47
· 258 commits to main since this release

New features

Bug fixes

  • llvm-mos/llvm-mos#369 -- Fix various issues with zero page pointers (e.g., llvm-mos/llvm-mos#366, llvm-mos/llvm-mos#363) -- @asiekierka

  • Use __builtin_bit_cast to allow constexpr initialization of struct of array arrays.

    • This was thought to work, but the previous implementation invoked reinterpret_cast, which isn't legal in constexpr. The new version works so long as the types don't contain pointers. For those that do, there's intrinsically no way to statically initialize them in C++; this has to instead be done in an assembly file using #<ptr and #>ptr.

Optimization

  • Loop induction variable canonicalization now prefers narrower types instead of wider ones. This can replace 16-bit loop counters with zero-extensions of 8-bit ones. Doesn't come up tremendously often, but when it does, the previous behavior absolutely killed performance.

  • #222 - Make neslib/nesdoug buffers weak so they can be moved by the user; move PAL_BUF out of hardware stack by default -- @cogwheel

  • Fix C++-invalid cast in nes.h