mirror of
https://github.com/rodamaral/lsnes.git
synced 2025-04-02 10:42:15 -04:00
46 lines
907 B
C++
46 lines
907 B
C++
#pragma once
|
|
|
|
void write_val8(char* out, const uint8_t& var)
|
|
{
|
|
*out = var;
|
|
}
|
|
|
|
void write_val32(char* out, const unsigned& var)
|
|
{
|
|
out[0] = var >> 24;
|
|
out[1] = var >> 16;
|
|
out[2] = var >> 8;
|
|
out[3] = var;
|
|
}
|
|
|
|
void write_val16a(char* out, const uint16_t* var, size_t elems)
|
|
{
|
|
for(size_t i = 0; i < elems; i++) {
|
|
out[2 * i + 0] = var[i] >> 8;
|
|
out[2 * i + 1] = var[i];
|
|
}
|
|
}
|
|
|
|
void read_val32(const char* in, unsigned& var)
|
|
{
|
|
var = 0;
|
|
var |= ((unsigned)(unsigned char)in[0] << 24);
|
|
var |= ((unsigned)(unsigned char)in[1] << 16);
|
|
var |= ((unsigned)(unsigned char)in[2] << 8);
|
|
var |= ((unsigned)(unsigned char)in[3]);
|
|
}
|
|
|
|
void read_val8(const char* in, uint8_t& var)
|
|
{
|
|
var = in[0];
|
|
}
|
|
|
|
void read_val16a(const char* in, uint16_t* var, size_t elems)
|
|
{
|
|
for(size_t i = 0; i < elems; i++) {
|
|
var[i] = 0;
|
|
var[i] |= ((unsigned)(unsigned char)in[0] << 8);
|
|
var[i] |= ((unsigned)(unsigned char)in[1]);
|
|
}
|
|
}
|
|
|