Tootfinder

Opt-in global Mastodon full text search. Join the index!

@jamesthebard@social.linux.pizza
2025-07-10 18:15:40

So while the Z80 project on Rust is going very, very slowly, the Python side is going pretty well. Got all of the registers and flags implementations mostly done including 16-bit register swaps (EX) and full prime swapping (EXX). Using `enum.IntFlag` to set/clear flags in the F register as well which helps with legibility.
#python

@jamesthebard@social.linux.pizza
2025-07-10 02:35:04

Okay, not 100% satisfied over the Z80 flags implementation, but works perfectly well and mirrors what the CPU is doing. Used `mem::swap` to switch between the normal and "prime" set of flags and works exactly as expected. Things progress...
#rust #z80

The Z80 flag implementation in Rust.  It's basic, took waaaay too long, but it works.
@jamesthebard@social.linux.pizza
2025-07-13 19:55:04

Wooo, first Rust macro written...things continue to progress. Still need to figure out exactly how I want to represent the `F` register though.
#rust #z80 #emulation

My first Rust macro that sets implementations for both the Register and RegisterFlags structs.  This will most definitely change...