//Create new register entry for ushort types private unsafe uShortRegister NewRegisterEntry(string registerName, ushort *reference) { Console.WriteLine($"Creating register entry for {registerName}"); uShortRegister entry = new uShortRegister(); entry.Name = registerName; entry.Pointer = reference; return(entry); }
//Fetch register values and update UI private unsafe void FetcherLoop_Tick(object sender, EventArgs e) { foreach (var reg in RegisterList.Items) { if (reg is uShortRegister) { uShortRegister item = (uShortRegister)reg; item.Value = *item.Pointer; } else if (reg is byteRegister) { byteRegister item = (byteRegister)reg; item.Value = *item.Pointer; } } foreach (uShortRegister stack in StackList.Items) { stack.Value = *stack.Pointer; } Dispatcher.Invoke(new Action(() => RegisterList.Items.Refresh())); Dispatcher.Invoke(new Action(() => StackList.Items.Refresh())); }