summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/formats/apridisk.cpp
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2023-09-17 09:41:35 -0400
committer AJR <ajrhacker@users.noreply.github.com>2023-09-17 09:43:06 -0400
commit676e44ca955121808828ddc7a8a024dc721f682c (patch)
tree64ca682d6e9dc0a752339f39f1900cc3b3c50fdb /src/lib/formats/apridisk.cpp
parent2f7b1f05c72e568032930e7ceba2db0b4cb63e1a (diff)
imageutl.h: Retire pick_integer_[bl]e and place_integer_[bl]e in favor of the simpler functions in multibyte.h
* multibyte.h: Add constexpr for getters and noexcept for all functions
Diffstat (limited to 'src/lib/formats/apridisk.cpp')
-rw-r--r--src/lib/formats/apridisk.cpp21
1 files changed, 11 insertions, 10 deletions
diff --git a/src/lib/formats/apridisk.cpp b/src/lib/formats/apridisk.cpp
index 529b98ec2e8..03a7cb81bdd 100644
--- a/src/lib/formats/apridisk.cpp
+++ b/src/lib/formats/apridisk.cpp
@@ -10,9 +10,10 @@
#include "apridisk.h"
-#include "imageutl.h"
-
#include "ioprocs.h"
+#include "multibyte.h"
+
+#include "osdcore.h" // osd_printf_error
apridisk_format::apridisk_format()
@@ -69,19 +70,19 @@ bool apridisk_format::load(util::random_read &io, uint32_t form_factor, const st
uint8_t sector_header[16];
io.read_at(file_offset, sector_header, 16, actual);
- uint32_t type = pick_integer_le(&sector_header, 0, 4);
- uint16_t compression = pick_integer_le(&sector_header, 4, 2);
- uint16_t header_size = pick_integer_le(&sector_header, 6, 2);
- uint32_t data_size = pick_integer_le(&sector_header, 8, 4);
+ uint32_t type = get_u32le(&sector_header[0]);
+ uint16_t compression = get_u16le(&sector_header[4]);
+ uint16_t header_size = get_u16le(&sector_header[6]);
+ uint32_t data_size = get_u32le(&sector_header[8]);
file_offset += header_size;
switch (type)
{
case APR_SECTOR:
- uint8_t head = pick_integer_le(&sector_header, 12, 1);
- uint8_t sector = pick_integer_le(&sector_header, 13, 1);
- uint8_t track = (uint8_t) pick_integer_le(&sector_header, 14, 2);
+ uint8_t head = sector_header[12];
+ uint8_t sector = sector_header[13];
+ uint8_t track = (uint8_t) get_u16le(&sector_header[14]);
track_count = std::max(track_count, int(unsigned(track)));
head_count = std::max(head_count, int(unsigned(head)));
@@ -103,7 +104,7 @@ bool apridisk_format::load(util::random_read &io, uint32_t form_factor, const st
{
uint8_t comp[3];
io.read_at(file_offset, comp, 3, actual);
- uint16_t length = pick_integer_le(comp, 0, 2);
+ uint16_t length = get_u16le(&comp[0]);
if (length != SECTOR_SIZE)
{