Compare commits
No commits in common. "0e594245c249f291d955ba3660edff6f896ac0d8" and "2ad1dfce92530492f83fef536e5bc6110ca0c378" have entirely different histories.
0e594245c2
...
2ad1dfce92
16
Makefile
16
Makefile
@ -12,27 +12,23 @@ obj_dir = $(build_dir)/obj
|
|||||||
|
|
||||||
sources := $(shell find src/ -name *.cpp -and -not -name *main.cpp)
|
sources := $(shell find src/ -name *.cpp -and -not -name *main.cpp)
|
||||||
|
|
||||||
vm_bin = $(build_dir)/vm
|
vc5_sources := $(sources) src/main.cpp
|
||||||
vm_sources := $(sources) src/vm_main.cpp
|
|
||||||
|
|
||||||
asm_bin = $(build_dir)/asm
|
|
||||||
asm_sources := $(sources) src/asm_main.cpp
|
asm_sources := $(sources) src/asm_main.cpp
|
||||||
|
|
||||||
all: $(vm_bin) $(asm_bin) $(build_dir)/boot.bin
|
all: $(build_dir)/vc5 $(build_dir)/asm
|
||||||
|
|
||||||
$(vm_bin): $(vm_sources:%.cpp=$(obj_dir)/%.o)
|
$(build_dir)/vc5: $(vc5_sources:%.cpp=$(obj_dir)/%.o)
|
||||||
|
@mkdir -p $(dir $@)
|
||||||
g++ $^ -o $@ $(CXXFLAGS) $(LDFLAGS)
|
g++ $^ -o $@ $(CXXFLAGS) $(LDFLAGS)
|
||||||
|
|
||||||
$(asm_bin): $(asm_sources:%.cpp=$(obj_dir)/%.o)
|
$(build_dir)/asm: $(asm_sources:%.cpp=$(obj_dir)/%.o)
|
||||||
|
@mkdir -p $(dir $@)
|
||||||
g++ $^ -o $@ $(CXXFLAGS) $(LDFLAGS)
|
g++ $^ -o $@ $(CXXFLAGS) $(LDFLAGS)
|
||||||
|
|
||||||
$(obj_dir)/%.o: %.cpp
|
$(obj_dir)/%.o: %.cpp
|
||||||
@mkdir -p $(dir $@)
|
@mkdir -p $(dir $@)
|
||||||
g++ $< -c -o $@ -MMD -MP $(CXXFLAGS)
|
g++ $< -c -o $@ -MMD -MP $(CXXFLAGS)
|
||||||
|
|
||||||
$(build_dir)/boot.bin: programs/boot.vc5asm $(asm_bin)
|
|
||||||
./$(asm_bin) $< -o $@
|
|
||||||
|
|
||||||
.PHONY: clean
|
.PHONY: clean
|
||||||
clean:
|
clean:
|
||||||
rm -rf $(build_dir)
|
rm -rf $(build_dir)
|
||||||
|
|||||||
@ -5,6 +5,7 @@ const KBD_CODE 0x1ffe
|
|||||||
const VCD 0x2000
|
const VCD 0x2000
|
||||||
|
|
||||||
const FL_EQ 0x2
|
const FL_EQ 0x2
|
||||||
|
const FL_EQ 0x4
|
||||||
|
|
||||||
const KBD_FLAG_IS_RELEASE 0x1
|
const KBD_FLAG_IS_RELEASE 0x1
|
||||||
|
|
||||||
|
|||||||
@ -10,6 +10,7 @@
|
|||||||
using namespace std::chrono_literals;
|
using namespace std::chrono_literals;
|
||||||
|
|
||||||
using namespace vc5;
|
using namespace vc5;
|
||||||
|
using namespace vc5::regs;
|
||||||
|
|
||||||
static void make_program(uint8_t* data);
|
static void make_program(uint8_t* data);
|
||||||
|
|
||||||
@ -24,7 +25,7 @@ int main(int argc, char** argv)
|
|||||||
make_program(disk.data());
|
make_program(disk.data());
|
||||||
|
|
||||||
std::println("memory disk");
|
std::println("memory disk");
|
||||||
for (size_t i = 0; i < 128; i += 4) {
|
for (size_t i = 0; i < 64; i += 4) {
|
||||||
std::println("{:02x} {:02x} {:02x} {:02x}",
|
std::println("{:02x} {:02x} {:02x} {:02x}",
|
||||||
disk.data()[i],
|
disk.data()[i],
|
||||||
disk.data()[i + 1],
|
disk.data()[i + 1],
|
||||||
@ -47,7 +48,7 @@ int main(int argc, char** argv)
|
|||||||
memory_disk.read(memory_block.data(), 0);
|
memory_disk.read(memory_block.data(), 0);
|
||||||
|
|
||||||
std::println("file disk");
|
std::println("file disk");
|
||||||
for (size_t i = 0; i < 128; i += 4) {
|
for (size_t i = 0; i < 64; i += 4) {
|
||||||
std::println("{:02x} {:02x} {:02x} {:02x}",
|
std::println("{:02x} {:02x} {:02x} {:02x}",
|
||||||
file_block[i],
|
file_block[i],
|
||||||
file_block[i + 1],
|
file_block[i + 1],
|
||||||
@ -62,8 +63,6 @@ int main(int argc, char** argv)
|
|||||||
|
|
||||||
void make_program(uint8_t* data)
|
void make_program(uint8_t* data)
|
||||||
{
|
{
|
||||||
using namespace vc5::regs;
|
|
||||||
|
|
||||||
auto l = tools::Builder(data);
|
auto l = tools::Builder(data);
|
||||||
|
|
||||||
l.mov_imm(rsp, 0x1000);
|
l.mov_imm(rsp, 0x1000);
|
||||||
Loading…
x
Reference in New Issue
Block a user