Torch
Loading...
Searching...
No Matches
BKByteUtils.h
1#pragma once
2
3#include <cstdint>
4
5namespace BK64 {
6
7// Big-endian scalar reads from raw ROM/overlay bytes.
8inline uint16_t ReadU16BE(const uint8_t* p) {
9 return static_cast<uint16_t>((p[0] << 8) | p[1]);
10}
11
12inline int16_t ReadS16BE(const uint8_t* p) {
13 return static_cast<int16_t>(ReadU16BE(p));
14}
15
16inline uint32_t ReadU32BE(const uint8_t* p) {
17 return ((uint32_t)p[0] << 24) | ((uint32_t)p[1] << 16) | ((uint32_t)p[2] << 8) | (uint32_t)p[3];
18}
19
20inline int32_t ReadS32BE(const uint8_t* p) {
21 return static_cast<int32_t>(ReadU32BE(p));
22}
23
24} // namespace BK64