This commit is contained in:
folkert van heusden 2024-05-14 08:14:41 +02:00
parent 6a192436f4
commit cc99ce6e19
Signed by untrusted user who does not match committer: folkert
GPG key ID: 6B6455EDFEED3BD1
4 changed files with 11 additions and 14 deletions

10
bus.cpp
View file

@ -81,21 +81,21 @@ bus *bus::deserialize(const JsonDocument j, console *const cnsl, std::atomic_uin
memory *m = nullptr;
if (j.containsKey("memory")) {
m = memory::deserialize(j["memory"]);
m = memory::deserialize(j["memory"].as<JsonDocument>());
b->add_ram(m);
}
if (j.containsKey("kw11-l"))
b->add_KW11_L(kw11_l::deserialize(j["kw11-l"], b, cnsl));
b->add_KW11_L(kw11_l::deserialize(j["kw11-l"].as<JsonDocument>(), b, cnsl));
if (j.containsKey("tty"))
b->add_tty(tty::deserialize(j["tty"], b, cnsl));
b->add_tty(tty::deserialize(j["tty"].as<JsonDocument>(), b, cnsl));
if (j.containsKey("mmu"))
b->add_mmu(mmu::deserialize(j["mmu"], m));
b->add_mmu(mmu::deserialize(j["mmu"].as<JsonDocument>(), m));
if (j.containsKey("cpu"))
b->add_cpu(cpu::deserialize(j["cpu"], b, event));
b->add_cpu(cpu::deserialize(j["cpu"].as<JsonDocument>(), b, event));
if (j.containsKey("rl02"))
b->add_rl02(rl02::deserialize(j["rl02"], b));

View file

@ -54,7 +54,7 @@ JsonDocument memory::serialize() const
return j;
}
memory *memory::deserialize(const json_t *const j)
memory *memory::deserialize(const JsonDocument j)
{
size_t size = j["size"];
memory *m = new memory(size);

View file

@ -72,8 +72,7 @@ void rl02::show_state(console *const cnsl) const
cnsl->put_string_lf(format("sector: %d", sector));
}
#if IS_POSIX
json_t *rl02::serialize() const
JsonDocument rl02::serialize() const
{
json_t *j = json_object();
@ -96,7 +95,7 @@ json_t *rl02::serialize() const
return j;
}
rl02 *rl02::deserialize(const json_t *const j, bus *const b)
rl02 *rl02::deserialize(const JsonDocument j, bus *const b)
{
std::vector<disk_backend *> backends;
@ -119,7 +118,6 @@ rl02 *rl02::deserialize(const json_t *const j, bus *const b)
return r;
}
#endif
uint8_t rl02::read_byte(const uint16_t addr)
{

7
rl02.h
View file

@ -3,6 +3,7 @@
#pragma once
#include <ArduinoJson.h>
#include <atomic>
#include <stdint.h>
#include <stdio.h>
@ -55,10 +56,8 @@ public:
void show_state(console *const cnsl) const override;
#if IS_POSIX
json_t *serialize() const;
static rl02 *deserialize(const json_t *const j, bus *const b);
#endif
JsonDocument serialize() const;
static rl02 *deserialize(const JsonDocument j, bus *const b);
uint8_t read_byte(const uint16_t addr) override;
uint16_t read_word(const uint16_t addr) override;