Compare commits

..

2 Commits

Author SHA1 Message Date
Mwa
034620591b re-added default winit features 2026-03-06 22:14:44 +01:00
Mwa
a68d72621c added 8 to scancode to match tkinter 2026-03-06 22:12:38 +01:00
4 changed files with 10 additions and 5 deletions

View File

@@ -5,5 +5,5 @@ edition = "2024"
[dependencies]
pixels = "0.15.0"
winit = "0.30.13"
winit = { version = "0.30.13", features = ["x11", "x11-dl", "x11rb", "ahash", "bytemuck", "memmap2", "rwh_06", "sctk", "sctk-adwaita"] }
winit_input_helper = "0.17.0"

Binary file not shown.

View File

@@ -290,11 +290,16 @@ impl<'a, 'b> Computer<'a, 'b> {
}
self.pc = (addr + self.pc as u32) as usize;
}
Instruction::Call(addr) => {
Instruction::Call(mut addr) => {
self.sp -= 1;
self.ram[self.sp] = ((self.pc << 2) + 4) as u32;
self.pc += addr as usize;
self.pc &= 0x3FFFFFFF; //wrapping on 30 bit pc
if addr & (1 << 28) != 0 {
addr += 7 << 29;
} else if unlikely(addr == 0) {
sleep(Duration::from_hours(1));
}
self.pc = (addr + self.pc as u32) as usize;
}
Instruction::Ret() => {
self.pc = (self.ram[self.sp] >> 2) as usize;

View File

@@ -89,7 +89,7 @@ fn main() -> Result<(), Error> {
match event.state {
winit::event::ElementState::Pressed => {
if let Some(val) = event.physical_key.to_scancode() {
kbref.store(val, std::sync::atomic::Ordering::Relaxed);
kbref.store(val + 8, std::sync::atomic::Ordering::Relaxed);
}
}
winit::event::ElementState::Released => {