From 0add2f5794c8ae7332c5ac0e977b2a35d5ded3bc Mon Sep 17 00:00:00 2001 From: Jaby Date: Mon, 27 Mar 2023 20:43:18 +0200 Subject: [PATCH] Successfully read in file --- include/PSX/Auxiliary/bits.hpp | 7 +++++++ include/PSX/System/IOPorts/cd_io.hpp | 2 +- src/Library/src/CD/cd.cpp | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/include/PSX/Auxiliary/bits.hpp b/include/PSX/Auxiliary/bits.hpp index 8857b64a..2e2cce79 100644 --- a/include/PSX/Auxiliary/bits.hpp +++ b/include/PSX/Auxiliary/bits.hpp @@ -5,6 +5,8 @@ namespace JabyEngine { namespace bit { + template + static constexpr T set(T raw_value, size_t bit); namespace value { template static constexpr T set_normalized(T raw_value, T value, size_t start_bit, size_t length); @@ -27,6 +29,11 @@ namespace JabyEngine { constexpr ClearBit operator!() const { return ClearBit(this->pos); } + + template + constexpr explicit operator T() const { + return bit::set(0, this->pos); + } }; struct BitRange { diff --git a/include/PSX/System/IOPorts/cd_io.hpp b/include/PSX/System/IOPorts/cd_io.hpp index bab6d9ba..ed8a044e 100644 --- a/include/PSX/System/IOPorts/cd_io.hpp +++ b/include/PSX/System/IOPorts/cd_io.hpp @@ -54,7 +54,7 @@ namespace JabyEngine { static constexpr auto WantData = Bit(7); void want_data() { - this->raw_value = Self::set(Self::WantData); + this->raw_value = static_cast(Self::WantData); } void reset() { diff --git a/src/Library/src/CD/cd.cpp b/src/Library/src/CD/cd.cpp index ba1ca60c..ae09f6ff 100644 --- a/src/Library/src/CD/cd.cpp +++ b/src/Library/src/CD/cd.cpp @@ -74,7 +74,7 @@ namespace JabyEngine { auto* sector = sector_allocator.allocate_sector(); if(sector) { //Now obtain sector - //read_sector_to(*sector); + read_sector_to(*sector); sectors_left--; if(sectors_left == 0) {