Sync push
This commit is contained in:
parent
6d9016cdae
commit
fd38874932
4 changed files with 57 additions and 4 deletions
|
|
@ -115,7 +115,6 @@
|
||||||
0x8A: Background (1 Byte)
|
0x8A: Background (1 Byte)
|
||||||
|
|
||||||
(VRAM Memory Cell: Character:1, Foreground:1, Background:1, Reserved:1)
|
(VRAM Memory Cell: Character:1, Foreground:1, Background:1, Reserved:1)
|
||||||
|
|
||||||
0x16FF
|
0x16FF
|
||||||
-------
|
-------
|
||||||
0x1700 GENERIC SERIAL INTERFACE (64 Bytes)
|
0x1700 GENERIC SERIAL INTERFACE (64 Bytes)
|
||||||
|
|
|
||||||
32
src/debugger/Data.hpp
Normal file
32
src/debugger/Data.hpp
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "../tools/GlobalData.hpp"
|
||||||
|
|
||||||
|
namespace dragon
|
||||||
|
{
|
||||||
|
namespace debugger
|
||||||
|
{
|
||||||
|
struct Run
|
||||||
|
{
|
||||||
|
AddressType offset;
|
||||||
|
stdvec<i8> old_bytes;
|
||||||
|
stdvec<i8> new_bytes;
|
||||||
|
};
|
||||||
|
struct Keyframe
|
||||||
|
{
|
||||||
|
u64 cycle;
|
||||||
|
stdvec<i8> full_state; // entire memory image at this cycle
|
||||||
|
};
|
||||||
|
struct CycleDiff
|
||||||
|
{
|
||||||
|
u64 cycle;
|
||||||
|
stdvec<Run> runs; // empty if nothing changed
|
||||||
|
};
|
||||||
|
struct History
|
||||||
|
{
|
||||||
|
u32 keyframe_interval { 1000 };
|
||||||
|
stdvec<Keyframe> keyframes; // one every `interval` cycles
|
||||||
|
stdvec<CycleDiff> diffs; // one per cycle (including keyframe cycles, optional)
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -65,7 +65,7 @@ namespace dragon
|
||||||
|
|
||||||
InterruptVector::InterruptVector(void)
|
InterruptVector::InterruptVector(void)
|
||||||
{
|
{
|
||||||
u32 dataSize = data::MemoryMapAddresses::IntVector_End - data::MemoryMapAddresses::IntVector_Start;
|
u32 dataSize = data::MemoryMapAddresses::IntVector_End - data::MemoryMapAddresses::IntVector_Start + 1;
|
||||||
for (i32 i = 0; i < dataSize; i++)
|
for (i32 i = 0; i < dataSize; i++)
|
||||||
m_data.push_back(0x00);
|
m_data.push_back(0x00);
|
||||||
}
|
}
|
||||||
|
|
@ -113,7 +113,7 @@ namespace dragon
|
||||||
|
|
||||||
void VirtualKeyboard::init(void)
|
void VirtualKeyboard::init(void)
|
||||||
{
|
{
|
||||||
u32 dataSize = data::MemoryMapAddresses::Keyboard_End - data::MemoryMapAddresses::Keyboard_Start;
|
u32 dataSize = data::MemoryMapAddresses::Keyboard_End - data::MemoryMapAddresses::Keyboard_Start + 1;
|
||||||
for (i32 i = 0; i < dataSize; i++)
|
for (i32 i = 0; i < dataSize; i++)
|
||||||
m_data.push_back(0x00);
|
m_data.push_back(0x00);
|
||||||
enableSignals();
|
enableSignals();
|
||||||
|
|
@ -660,7 +660,7 @@ namespace dragon
|
||||||
Graphics::Graphics(void)
|
Graphics::Graphics(void)
|
||||||
{
|
{
|
||||||
m_videoMemory.init(0xFFFF);
|
m_videoMemory.init(0xFFFF);
|
||||||
m_vramStart = data::MemoryMapAddresses::VideoCardInterface_End - data::MemoryMapAddresses::VideoCardInterface_Start;
|
m_vramStart = data::MemoryMapAddresses::VideoCardInterface_End - data::MemoryMapAddresses::VideoCardInterface_Start + 1;
|
||||||
m_16Color_frameSize = ogfx::PixelRenderer::TextRenderer::CONSOLE_CHARS_H * ogfx::PixelRenderer::TextRenderer::CONSOLE_CHARS_V * m_16Color_cellSize;
|
m_16Color_frameSize = ogfx::PixelRenderer::TextRenderer::CONSOLE_CHARS_H * ogfx::PixelRenderer::TextRenderer::CONSOLE_CHARS_V * m_16Color_cellSize;
|
||||||
m_16Color_currentFrameAddr = m_vramStart;
|
m_16Color_currentFrameAddr = m_vramStart;
|
||||||
m_16Color_secondFrameAddr = m_vramStart + m_16Color_frameSize;
|
m_16Color_secondFrameAddr = m_vramStart + m_16Color_frameSize;
|
||||||
|
|
|
||||||
|
|
@ -292,6 +292,28 @@ namespace dragon
|
||||||
out.fg(ostd::ConsoleColors::BrightYellow).p(" Loading CMOS Machine info").nl();
|
out.fg(ostd::ConsoleColors::BrightYellow).p(" Loading CMOS Machine info").nl();
|
||||||
|
|
||||||
out.nl().nl();
|
out.nl().nl();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ostd::ByteStream test;
|
||||||
|
test.reserve(0xFFFF);
|
||||||
|
for (i32 i = 0; i < 0xFFFF; i++)
|
||||||
|
{
|
||||||
|
std::cout << (int)i << "\n";
|
||||||
|
test.push_back(memMap.read8(cast<AddressType>(i)));
|
||||||
|
}
|
||||||
|
exit(0);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return RETURN_VAL_EXIT_SUCCESS;
|
return RETURN_VAL_EXIT_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue