clean-up
This commit is contained in:
parent
2c107865c0
commit
54836067b5
6 changed files with 46 additions and 20 deletions
1
ESP32/device.h
Symbolic link
1
ESP32/device.h
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../device.h
|
20
device.h
Normal file
20
device.h
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
class device
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
device() {
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual ~device() {
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual void reset() = 0;
|
||||||
|
|
||||||
|
virtual uint8_t readByte(const uint16_t addr) = 0;
|
||||||
|
virtual uint16_t readWord(const uint16_t addr) = 0;
|
||||||
|
|
||||||
|
virtual void writeByte(const uint16_t addr, const uint8_t v) = 0;
|
||||||
|
virtual void writeWord(const uint16_t addr, const uint16_t v) = 0;
|
||||||
|
};
|
2
rk05.cpp
2
rk05.cpp
|
@ -109,7 +109,7 @@ void rk05::writeByte(const uint16_t addr, const uint8_t v)
|
||||||
writeWord(addr, vtemp);
|
writeWord(addr, vtemp);
|
||||||
}
|
}
|
||||||
|
|
||||||
void rk05::writeWord(const uint16_t addr, uint16_t v)
|
void rk05::writeWord(const uint16_t addr, const uint16_t v)
|
||||||
{
|
{
|
||||||
const int reg = (addr - RK05_BASE) / 2;
|
const int reg = (addr - RK05_BASE) / 2;
|
||||||
|
|
||||||
|
|
13
rk05.h
13
rk05.h
|
@ -9,6 +9,7 @@
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
|
#include "device.h"
|
||||||
#include "disk_backend.h"
|
#include "disk_backend.h"
|
||||||
|
|
||||||
|
|
||||||
|
@ -24,7 +25,7 @@
|
||||||
|
|
||||||
class bus;
|
class bus;
|
||||||
|
|
||||||
class rk05
|
class rk05 : public device
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
bus *const b { nullptr };
|
bus *const b { nullptr };
|
||||||
|
@ -42,11 +43,11 @@ public:
|
||||||
rk05(const std::vector<disk_backend *> & files, bus *const b, std::atomic_bool *const disk_read_acitivity, std::atomic_bool *const disk_write_acitivity);
|
rk05(const std::vector<disk_backend *> & files, bus *const b, std::atomic_bool *const disk_read_acitivity, std::atomic_bool *const disk_write_acitivity);
|
||||||
virtual ~rk05();
|
virtual ~rk05();
|
||||||
|
|
||||||
void reset();
|
void reset() override;
|
||||||
|
|
||||||
uint8_t readByte(const uint16_t addr);
|
uint8_t readByte(const uint16_t addr) override;
|
||||||
uint16_t readWord(const uint16_t addr);
|
uint16_t readWord(const uint16_t addr) override;
|
||||||
|
|
||||||
void writeByte(const uint16_t addr, const uint8_t v);
|
void writeByte(const uint16_t addr, const uint8_t v) override;
|
||||||
void writeWord(const uint16_t addr, uint16_t v);
|
void writeWord(const uint16_t addr, const uint16_t v) override;
|
||||||
};
|
};
|
||||||
|
|
13
rl02.h
13
rl02.h
|
@ -9,6 +9,7 @@
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
|
#include "device.h"
|
||||||
#include "disk_backend.h"
|
#include "disk_backend.h"
|
||||||
|
|
||||||
|
|
||||||
|
@ -25,7 +26,7 @@ constexpr const int rl02_bytes_per_sector = 256;
|
||||||
|
|
||||||
class bus;
|
class bus;
|
||||||
|
|
||||||
class rl02
|
class rl02 : public device
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
bus *const b;
|
bus *const b;
|
||||||
|
@ -49,11 +50,11 @@ public:
|
||||||
rl02(const std::vector<disk_backend *> & files, bus *const b, std::atomic_bool *const disk_read_acitivity, std::atomic_bool *const disk_write_acitivity);
|
rl02(const std::vector<disk_backend *> & files, bus *const b, std::atomic_bool *const disk_read_acitivity, std::atomic_bool *const disk_write_acitivity);
|
||||||
virtual ~rl02();
|
virtual ~rl02();
|
||||||
|
|
||||||
void reset();
|
void reset() override;
|
||||||
|
|
||||||
uint8_t readByte(const uint16_t addr);
|
uint8_t readByte(const uint16_t addr) override;
|
||||||
uint16_t readWord(const uint16_t addr);
|
uint16_t readWord(const uint16_t addr) override;
|
||||||
|
|
||||||
void writeByte(const uint16_t addr, const uint8_t v);
|
void writeByte(const uint16_t addr, const uint8_t v) override;
|
||||||
void writeWord(const uint16_t addr, const uint16_t v);
|
void writeWord(const uint16_t addr, const uint16_t v) override;
|
||||||
};
|
};
|
||||||
|
|
17
tm-11.h
17
tm-11.h
|
@ -1,4 +1,4 @@
|
||||||
// (C) 2018-2023 by Folkert van Heusden
|
// (C) 2018-2024 by Folkert van Heusden
|
||||||
// Released under MIT license
|
// Released under MIT license
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -7,6 +7,8 @@
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
|
#include "device.h"
|
||||||
|
|
||||||
#define TM_11_MTS 0172520 // status register
|
#define TM_11_MTS 0172520 // status register
|
||||||
#define TM_11_MTC 0172522 // command register
|
#define TM_11_MTC 0172522 // command register
|
||||||
#define TM_11_MTBRC 0172524 // byte record counter
|
#define TM_11_MTBRC 0172524 // byte record counter
|
||||||
|
@ -16,9 +18,10 @@
|
||||||
#define TM_11_BASE TM_11_MTS
|
#define TM_11_BASE TM_11_MTS
|
||||||
#define TM_11_END (TM_11_MTRD + 2)
|
#define TM_11_END (TM_11_MTRD + 2)
|
||||||
|
|
||||||
|
|
||||||
class memory;
|
class memory;
|
||||||
|
|
||||||
class tm_11
|
class tm_11 : public device
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
memory *const m { nullptr };
|
memory *const m { nullptr };
|
||||||
|
@ -31,11 +34,11 @@ public:
|
||||||
tm_11(const std::string & file, memory *const m);
|
tm_11(const std::string & file, memory *const m);
|
||||||
virtual ~tm_11();
|
virtual ~tm_11();
|
||||||
|
|
||||||
void reset();
|
void reset() override;
|
||||||
|
|
||||||
uint8_t readByte(const uint16_t addr);
|
uint8_t readByte(const uint16_t addr) override;
|
||||||
uint16_t readWord(const uint16_t addr);
|
uint16_t readWord(const uint16_t addr) override;
|
||||||
|
|
||||||
void writeByte(const uint16_t addr, const uint8_t v);
|
void writeByte(const uint16_t addr, const uint8_t v) override;
|
||||||
void writeWord(const uint16_t addr, uint16_t v);
|
void writeWord(const uint16_t addr, uint16_t v) override;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Add table
Reference in a new issue