summaryrefslogtreecommitdiffhomepage
path: root/Private/KernelKit/DebugOutput.hpp
diff options
context:
space:
mode:
authorAmlal <amlalelmahrouss@icloud.com>2024-05-11 06:43:54 +0000
committerAmlal <amlalelmahrouss@icloud.com>2024-05-11 06:43:54 +0000
commitca675beb41dba8d7d16c5793b55d1672f38be3b4 (patch)
treec995ada42729ac2059a0ed87a4539d1a7e10b14a /Private/KernelKit/DebugOutput.hpp
parent2b4a4792abf51487ab4a16106f9376f43acf381a (diff)
parentbc57a29a24b98b00ba17710ba84ec2188ab73504 (diff)
Merged in MHR-23 (pull request #12)
MHR-23: Merge work.
Diffstat (limited to 'Private/KernelKit/DebugOutput.hpp')
-rw-r--r--Private/KernelKit/DebugOutput.hpp145
1 files changed, 0 insertions, 145 deletions
diff --git a/Private/KernelKit/DebugOutput.hpp b/Private/KernelKit/DebugOutput.hpp
deleted file mode 100644
index f6b1b9e1..00000000
--- a/Private/KernelKit/DebugOutput.hpp
+++ /dev/null
@@ -1,145 +0,0 @@
-/* -------------------------------------------
-
- Copyright Mahrouss Logic
-
-------------------------------------------- */
-
-#pragma once
-
-#include <KernelKit/DeviceManager.hpp>
-#include <CompilerKit/CompilerKit.hxx>
-#include <NewKit/OwnPtr.hpp>
-#include <NewKit/Stream.hpp>
-
-#define kDebugMaxPorts 16
-
-#define kDebugUnboundPort 0x0FEED
-
-#define kDebugMag0 'H'
-#define kDebugMag1 'D'
-#define kDebugMag2 'B'
-#define kDebugMag3 'G'
-
-#define kDebugSourceFile 0
-#define kDebugLine 33
-#define kDebugTeam 43
-#define kDebugEOP 49
-
-namespace NewOS {
-// @brief Emulates a VT100 terminal.
-class TerminalDevice final : public DeviceInterface<const Char *> {
- public:
- TerminalDevice(void (*print)(const Char *), void (*get)(const Char *))
- : DeviceInterface<const Char *>(print, get) {}
-
- virtual ~TerminalDevice() {}
-
- /// @brief returns device name (terminal name)
- /// @return string type (const char*)
- virtual const char *Name() const override { return ("TerminalDevice"); }
-
- NEWOS_COPY_DEFAULT(TerminalDevice);
-
- static TerminalDevice Shared() noexcept;
-};
-
-inline TerminalDevice end_line() {
- TerminalDevice selfTerm = TerminalDevice::Shared();
- selfTerm << "\r";
- return selfTerm;
-}
-
-inline TerminalDevice carriage_return() {
- TerminalDevice selfTerm = TerminalDevice::Shared();
- selfTerm << "\r";
- return selfTerm;
-}
-
-namespace Detail {
-inline TerminalDevice _write_number(const Long &x, TerminalDevice& term) {
- UInt64 y = (x > 0 ? x : -x) / 10;
- UInt64 h = (x > 0 ? x : -x) % 10;
-
- if (y) _write_number(y, term);
-
- /* fail if the number is not base-10 */
- if (h > 9) {
- _write_number('?', term);
- return term;
- }
-
- if (y < 0) y = -y;
-
- const char NUMBERS[11] = "0123456789";
-
- Char buf[2];
- buf[0] = NUMBERS[h];
- buf[1] = 0;
-
- term << buf;
- return term;
-}
-
-inline TerminalDevice _write_number_hex(const Long &x, TerminalDevice& term) {
- UInt64 y = (x > 0 ? x : -x) / 16;
- UInt64 h = (x > 0 ? x : -x) % 16;
-
- if (y) _write_number_hex(y, term);
-
- /* fail if the hex number is not base-16 */
- if (h > 15) {
- _write_number_hex('?', term);
- return term;
- }
-
- if (y < 0) y = -y;
-
- const char NUMBERS[17] = "0123456789ABCDEF";
-
- Char buf[2];
- buf[0] = NUMBERS[h];
- buf[1] = 0;
-
- term << buf;
- return term;
-}
-} // namespace Detail
-
-inline TerminalDevice hex_number(const Long &x) {
- TerminalDevice selfTerm = TerminalDevice::Shared();
-
- selfTerm << "0x";
- Detail::_write_number_hex(x, selfTerm);
-
- return selfTerm;
-}
-
-inline TerminalDevice number(const Long &x) {
- TerminalDevice selfTerm = TerminalDevice::Shared();
-
- Detail::_write_number(x, selfTerm);
-
- return selfTerm;
-}
-
-inline TerminalDevice get_console_in(Char* buf) {
- TerminalDevice selfTerm = TerminalDevice::Shared();
- selfTerm >> buf;
- return selfTerm;
-}
-
-typedef Char rt_debug_type[255];
-
-class DebuggerPortHeader final {
- public:
- Int16 fPort[kDebugMaxPorts];
- Int16 fBoundCnt;
-};
-} // namespace NewOS
-
-#ifdef kcout
-#undef kcout
-#endif // ifdef kcout
-
-#define kcout TerminalDevice::Shared()
-#define endl end_line()