mirror of
https://github.com/bsnes-emu/bsnes.git
synced 2025-04-02 10:42:14 -04:00
byuu says: This release features many substantial Game Boy emulation improvements (all courtesy of Jonas Quinn), a new audio DSP class, and BPS patching support. Changelog (since v081): - added new DSP audio engine; supports sample-averaging for the Game Boy's high frequency rate - GB: MMM01 images with boot loader at bottom of ROM can now be loaded - GB: EI is delayed one cycle; fixes Bubble Bobble [Jonas Quinn] - GB: fixed window -7 offset behavior; fixes Contra 3 first boss [Jonas Quinn] - GB: disable LCD interrupts when rendering is off; fixes Super Mario Land 2 [Jonas Quinn] - GB: fixed noise channel LFSR; fixes Zelda: LA lightning sound [Jonas Quinn] - GB: square channels use initial_length like the noise channel [Jonas Quinn] - UI: added BPS patching support; removed UPS patching support - UI: when loading BS-X/Sufami Turbo/Game Boy games; display game title instead of BIOS title - UI: modified timestamps on screenshots for Windows/NTFS (which disallows use of ':')
29 lines
730 B
C++
Executable file
29 lines
730 B
C++
Executable file
#ifndef NALL_STACK_HPP
|
|
#define NALL_STACK_HPP
|
|
|
|
#include <nall/concept.hpp>
|
|
#include <nall/vector.hpp>
|
|
|
|
namespace nall {
|
|
template<typename T> struct stack : public linear_vector<T> {
|
|
void push(const T &value) {
|
|
linear_vector<T>::append(value);
|
|
}
|
|
|
|
T pull() {
|
|
if(linear_vector<T>::size() == 0) throw;
|
|
T value = linear_vector<T>::operator[](linear_vector<T>::size() - 1);
|
|
linear_vector<T>::remove(linear_vector<T>::size() - 1);
|
|
return value;
|
|
}
|
|
|
|
T& operator()() {
|
|
if(linear_vector<T>::size() == 0) throw;
|
|
return linear_vector<T>::operator[](linear_vector<T>::size() - 1);
|
|
}
|
|
};
|
|
|
|
template<typename T> struct has_size<stack<T>> { enum { value = true }; };
|
|
}
|
|
|
|
#endif
|