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)
|
||||
|
||||
(VRAM Memory Cell: Character:1, Foreground:1, Background:1, Reserved:1)
|
||||
|
||||
0x16FF
|
||||
-------
|
||||
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)
|
||||
{
|
||||
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++)
|
||||
m_data.push_back(0x00);
|
||||
}
|
||||
|
|
@ -113,7 +113,7 @@ namespace dragon
|
|||
|
||||
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++)
|
||||
m_data.push_back(0x00);
|
||||
enableSignals();
|
||||
|
|
@ -660,7 +660,7 @@ namespace dragon
|
|||
Graphics::Graphics(void)
|
||||
{
|
||||
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_currentFrameAddr = m_vramStart;
|
||||
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.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;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue