Devlog

These are my daily notes and internal conversations during development. They may be helpful to understand the larger context of decisions that were made, and how I learned and explored while building.

Devlog < 2023 < June < 26

| by date | first | thread: cohost |

This morning I added a little more to the 'command' CLI tool that allows multiple flags to be declared at once.

With that, I added a '-p/--profile' flag to cohost, to see how many instrutions a ROM executed, and fixed how it handles disconnected devices.

Now that device output seems to at least be functioning in a baseline way, I'm testing out reading/writing to memory. I'll have to add a new visual to the cohost debug for this.

---

Adding the memory view went quickly, and I also cleaned up some of the other debug visualizations. While doing this, I thought it would be cool to add CLI flags to toggle different components, and also wondered if there shouldn't be an instruction for direct memory copies without the stack... that's definitely soemthing I should work in sooner rather than later, and it seems like it would be pretty important.

---

I got pretty far into trying bulk data transfer from memory to devices using 64 bit opcodes, but ran into issues with endianness. I decided to move over to big-endian internal representation for Core, since that is network order and display order, and it makes the most sense. It was not as simple as replacing all "le" calls with "be", as the assumption was baked into a bunch of places. Still working through some weird arithmetic edge cases, but I've learned that I definitely need more tests in Cohost.

first | thread: cohost | | by date |