Skip to content

Commit fdaafae

Browse files
committed
formatted document
1 parent 889cb95 commit fdaafae

19 files changed

+1059
-1192
lines changed

emulator/src/Chipset/CPU.cpp

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,6 @@ namespace casioemu {
238238
void CPU::SetupInternals() {
239239
SetupOpcodeDispatch();
240240
SetupRegisterProxies();
241-
242241
impl_csr_mask = emulator.GetModelInfo("csr_mask");
243242
}
244243

@@ -335,8 +334,7 @@ namespace casioemu {
335334
}
336335

337336
uint16_t CPU::Fetch() {
338-
if (reg_csr.raw & ~impl_csr_mask)
339-
reg_csr.raw &= impl_csr_mask;
337+
reg_csr.raw &= impl_csr_mask;
340338
if (reg_pc.raw & 1)
341339
reg_pc.raw &= ~1;
342340
uint16_t opcode = emulator.chipset.mmu.ReadCode((reg_csr.raw << 16) | reg_pc.raw);
@@ -451,9 +449,7 @@ namespace casioemu {
451449
if (memory_model == MM_LARGE)
452450
saved_lcsr = mmu.ReadData(frame.lr_push_address + 2) & 0xF;
453451
output << saved_lcsr << ":" << std::setw(4) << saved_lr;
454-
455-
output << " - lr pushed at "
456-
<< std::setw(4) << frame.lr_push_address;
452+
output << " - lr pushed at " << std::setw(4) << frame.lr_push_address;
457453
} else {
458454
output << reg_lcsr << ":" << reg_lr;
459455
}

emulator/src/Chipset/MMU.cpp

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,8 @@ namespace casioemu {
3636
MMU *mmu = *(MMU **)lua_topointer(lua_state, 1);
3737
size_t offset = lua_tointeger(lua_state, 2);
3838
if (offset & 1) {
39-
logger::Info("lua code[...]: offset has LSB set, rounding to even\n");
40-
offset ^= 1;
39+
logger::Info("lua: code[] offset has LSB set, rounding to even\n");
40+
offset &= ~1;
4141
}
4242
lua_pushinteger(lua_state, mmu->ReadCode(offset));
4343
return 1;
@@ -139,8 +139,6 @@ namespace casioemu {
139139
size_t segment_index = offset >> 16;
140140
size_t segment_offset = offset & 0xFFFF;
141141

142-
// segment_index %= 4;
143-
144142
if (!segment_index)
145143
return (((uint16_t)emulator.chipset.rom_data[segment_offset + 1]) << 8) | emulator.chipset.rom_data[segment_offset];
146144

@@ -166,8 +164,6 @@ namespace casioemu {
166164
size_t segment_index = offset >> 16;
167165
size_t segment_offset = offset & 0xFFFF;
168166

169-
// segment_index %= 4;
170-
171167
MemoryByte *segment = segment_dispatch[segment_index];
172168
if (!segment) {
173169
// logger::Info("read from offset %04zX of unmapped segment %02zX\n", segment_offset, segment_index);
@@ -201,8 +197,6 @@ namespace casioemu {
201197
size_t segment_index = offset >> 16;
202198
size_t segment_offset = offset & 0xFFFF;
203199

204-
// segment_index %= 4;
205-
206200
MemoryByte *segment = segment_dispatch[segment_index];
207201
if (!segment) {
208202
// logger::Info("write to offset %04zX of unmapped segment %02zX (%02zX)\n", segment_offset, segment_index, data);

emulator/src/Gui/CodeViewer.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,7 @@ void CodeViewer::DrawWindow() {
215215
ImGui::SameLine();
216216
ImGui::Checkbox("STEP", &step_debug);
217217
ImGui::SameLine();
218-
ImGui::Checkbox("RET TRACE", &trace_debug);
218+
ImGui::Checkbox("TRACE", &trace_debug);
219219
if (bp != -1) {
220220
ImGui::SameLine();
221221
if (ImGui::Button("Continue?")) {
Lines changed: 72 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -1,100 +1,87 @@
11
#include "BatteryBackedRAM.hpp"
22

3-
#include "../Data/HardwareId.hpp"
3+
#include "../Chipset/Chipset.hpp"
44
#include "../Chipset/MMU.hpp"
5+
#include "../Data/HardwareId.hpp"
56
#include "../Emulator.hpp"
6-
#include "../Chipset/Chipset.hpp"
7-
#include "../Logger.hpp"
87
#include "../Gui/ui.hpp"
9-
#include <fstream>
8+
#include "../Logger.hpp"
109
#include <cstring>
10+
#include <fstream>
1111

12-
namespace casioemu
13-
{
14-
void BatteryBackedRAM::Initialise()
15-
{
16-
bool real_hardware = emulator.GetModelInfo("real_hardware");
17-
switch (emulator.hardware_id)
18-
{
19-
case HW_ES_PLUS:
20-
ram_size = 0xE00;
21-
break;
22-
case HW_CLASSWIZ:
23-
ram_size = 0x2000;
24-
break;
25-
}
26-
if (!real_hardware)
27-
ram_size += 0x100;
28-
29-
ram_buffer = new uint8_t[ram_size];
30-
for (size_t ix = 0; ix != ram_size; ++ix)
31-
ram_buffer[ix] = 0;
12+
namespace casioemu {
13+
void BatteryBackedRAM::Initialise() {
14+
bool real_hardware = emulator.GetModelInfo("real_hardware");
15+
switch (emulator.hardware_id) {
16+
case HW_ES_PLUS:
17+
ram_size = 0xE00;
18+
break;
19+
case HW_CLASSWIZ:
20+
ram_size = 0x2000;
21+
break;
22+
}
23+
if (!real_hardware)
24+
ram_size += 0x100;
3225

33-
ram_file_requested = false;
34-
if (emulator.argv_map.find("ram") != emulator.argv_map.end())
35-
{
36-
ram_file_requested = true;
26+
ram_buffer = new uint8_t[ram_size];
27+
for (size_t ix = 0; ix != ram_size; ++ix)
28+
ram_buffer[ix] = 0;
3729

38-
if (emulator.argv_map.find("clean_ram") == emulator.argv_map.end())
39-
LoadRAMImage();
40-
}
30+
ram_file_requested = false;
31+
if (emulator.argv_map.find("ram") != emulator.argv_map.end()) {
32+
ram_file_requested = true;
33+
if (emulator.argv_map.find("clean_ram") == emulator.argv_map.end())
34+
LoadRAMImage();
35+
}
4136

42-
region.Setup(emulator.hardware_id == HW_ES_PLUS ? 0x8000 : 0xD000,
43-
emulator.hardware_id == HW_ES_PLUS ? 0x0E00 : 0x2000,
44-
"BatteryBackedRAM", ram_buffer, [](MMURegion *region, size_t offset) {
45-
return ((uint8_t *)region->userdata)[offset - region->base];
46-
}, [](MMURegion *region, size_t offset, uint8_t data) {
47-
((uint8_t *)region->userdata)[offset - region->base] = data;
48-
}, emulator);
49-
if (!real_hardware)
50-
region_2.Setup(emulator.hardware_id == HW_ES_PLUS ? 0x9800 : 0x49800, 0x0100,
51-
"BatteryBackedRAM/2", ram_buffer + ram_size - 0x100, [](MMURegion *region, size_t offset) {
52-
return ((uint8_t *)region->userdata)[offset - region->base];
53-
}, [](MMURegion *region, size_t offset, uint8_t data) {
54-
((uint8_t *)region->userdata)[offset - region->base] = data;
55-
}, emulator);
56-
n_ram_buffer =(char*) ram_buffer;
57-
logger::Info("inited hex editor!\n");
58-
}
37+
region.Setup(
38+
emulator.hardware_id == HW_ES_PLUS ? 0x8000 : 0xD000,
39+
emulator.hardware_id == HW_ES_PLUS ? 0x0E00 : 0x2000,
40+
"BatteryBackedRAM", ram_buffer,
41+
[](MMURegion *region, size_t offset) { return ((uint8_t *)region->userdata)[offset - region->base]; },
42+
[](MMURegion *region, size_t offset, uint8_t data) { ((uint8_t *)region->userdata)[offset - region->base] = data; },
43+
emulator);
44+
if (!real_hardware)
45+
region_2.Setup(
46+
emulator.hardware_id == HW_ES_PLUS ? 0x9800 : 0x49800, 0x0100,
47+
"BatteryBackedRAM/2", ram_buffer + ram_size - 0x100,
48+
[](MMURegion *region, size_t offset) { return ((uint8_t *)region->userdata)[offset - region->base]; },
49+
[](MMURegion *region, size_t offset, uint8_t data) { ((uint8_t *)region->userdata)[offset - region->base] = data; },
50+
emulator);
51+
n_ram_buffer = (char *)ram_buffer;
52+
logger::Info("inited hex editor!\n");
53+
}
5954

60-
void BatteryBackedRAM::Uninitialise()
61-
{
62-
if (ram_file_requested && emulator.argv_map.find("preserve_ram") == emulator.argv_map.end())
63-
SaveRAMImage();
55+
void BatteryBackedRAM::Uninitialise() {
56+
if (ram_file_requested && emulator.argv_map.find("preserve_ram") == emulator.argv_map.end())
57+
SaveRAMImage();
6458

65-
delete[] ram_buffer;
66-
}
59+
delete[] ram_buffer;
60+
}
6761

68-
void BatteryBackedRAM::SaveRAMImage()
69-
{
70-
std::ofstream ram_handle(emulator.argv_map["ram"], std::ofstream::binary);
71-
if (ram_handle.fail())
72-
{
73-
logger::Info("[BatteryBackedRAM] std::ofstream failed: %s\n", std::strerror(errno));
74-
return;
75-
}
76-
ram_handle.write((char *)ram_buffer, ram_size);
77-
if (ram_handle.fail())
78-
{
79-
logger::Info("[BatteryBackedRAM] std::ofstream failed: %s\n", std::strerror(errno));
80-
return;
81-
}
82-
}
62+
void BatteryBackedRAM::SaveRAMImage() {
63+
std::ofstream ram_handle(emulator.argv_map["ram"], std::ofstream::binary);
64+
if (ram_handle.fail()) {
65+
logger::Info("[BatteryBackedRAM] std::ofstream failed: %s\n", std::strerror(errno));
66+
return;
67+
}
68+
ram_handle.write((char *)ram_buffer, ram_size);
69+
if (ram_handle.fail()) {
70+
logger::Info("[BatteryBackedRAM] std::ofstream failed: %s\n", std::strerror(errno));
71+
return;
72+
}
73+
}
8374

84-
void BatteryBackedRAM::LoadRAMImage()
85-
{
86-
std::ifstream ram_handle(emulator.argv_map["ram"], std::ifstream::binary);
87-
if (ram_handle.fail())
88-
{
89-
logger::Info("[BatteryBackedRAM] std::ifstream failed: %s\n", std::strerror(errno));
90-
return;
91-
}
92-
ram_handle.read((char *)ram_buffer, ram_size);
93-
if (ram_handle.fail())
94-
{
95-
logger::Info("[BatteryBackedRAM] std::ifstream failed: %s\n", std::strerror(errno));
96-
return;
97-
}
98-
}
75+
void BatteryBackedRAM::LoadRAMImage() {
76+
std::ifstream ram_handle(emulator.argv_map["ram"], std::ifstream::binary);
77+
if (ram_handle.fail()) {
78+
logger::Info("[BatteryBackedRAM] std::ifstream failed: %s\n", std::strerror(errno));
79+
return;
80+
}
81+
ram_handle.read((char *)ram_buffer, ram_size);
82+
if (ram_handle.fail()) {
83+
logger::Info("[BatteryBackedRAM] std::ifstream failed: %s\n", std::strerror(errno));
84+
return;
85+
}
86+
}
9987
}
100-
Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,22 @@
11
#pragma once
22
#include "../Config.hpp"
33

4-
#include "Peripheral.hpp"
54
#include "../Chipset/MMURegion.hpp"
5+
#include "Peripheral.hpp"
66

7-
namespace casioemu
8-
{
9-
class BatteryBackedRAM : public Peripheral
10-
{
11-
MMURegion region, region_2;
7+
namespace casioemu {
8+
class BatteryBackedRAM : public Peripheral {
9+
MMURegion region, region_2;
1210

13-
size_t ram_size;
14-
bool ram_file_requested;
11+
size_t ram_size;
12+
bool ram_file_requested;
1513

16-
public:
17-
using Peripheral::Peripheral;
18-
uint8_t *ram_buffer;
19-
void Initialise();
20-
void Uninitialise();
21-
void SaveRAMImage();
22-
void LoadRAMImage();
23-
};
14+
public:
15+
using Peripheral::Peripheral;
16+
uint8_t *ram_buffer;
17+
void Initialise();
18+
void Uninitialise();
19+
void SaveRAMImage();
20+
void LoadRAMImage();
21+
};
2422
}
25-

0 commit comments

Comments
 (0)