Sam Abbott-Kennedy @samothyk.bsky.social · 05/09/2026Work on the ternary fantasy emulator continues. I have a wave channel working like a Gameboy, except it natively supports negative values and has a resolution of 3 trits (27 values) Vs the gb's 4 bits (16 values). Still crunchy but more sonorous than a gameboy 010
Sam Abbott-Kennedy @samothyk.bsky.social · 31/08/2026Finally working on the ternary fantasy console again and I have audio working. Currently got one channel working with 8 trit period, meaning it can accurately represent a full 8 octaves. Manually changing the pitch by writing to the audio registers with the keyboard for now. #fantasyconsole #ternary 020
Sam Abbott-Kennedy @samothyk.bsky.social · 16/08/2026Ternary assembly (tasm) is now mature enough to make a ROM to move a square around the screen! #ternary #fantasyconsole 010
Sam Abbott-Kennedy @samothyk.bsky.social · 15/08/2026Work on an assembler for the ternary bytecode (or I guess, trytecode) has begun, it's so much easier to write programs for the ternary emulator now 😅 Which program is easier to read? 😛 #ternary #assembly 000
Sam Abbott-Kennedy @samothyk.bsky.social · 14/08/2026IO register is now working, and can be queried trit-by-trit to move a sprite across the screen! No VBLANK yet so there's just a delay of 100 cycles between each update 😅 #ternary #fantasyconsole #emulator 000
Sam Abbott-Kennedy @samothyk.bsky.social · 13/08/2026Still loads of room left but the optable for the ternary CPU is filling out nicely! you can do lots of things with just arithmetic, jumps, loads, and tritwise operations. Heavily influenced by the gameboy optable of course gbdev.io/gb-opcodes/o... #ternary #fantasyconsole #emulator 100
Sam Abbott-Kennedy @samothyk.bsky.social · 13/08/2026Adding input to my ternary console emulator, what's neat is a single trit can represent a whole axis, -1 for left/down, 0 for released, and +1 for right/up. The other buttons are disappointingly binary, however #ternary #emulator #fantasyconsole 010
Sam Abbott-Kennedy @samothyk.bsky.social · 04/08/2026I've gotten to the point where my ternary CPU is good enough that writing roms for it by hand is getting cumbersome. So logically I need to invent an assembly language for it. I have managed to write the rom for a single sprite moving though 🎉 #fantasyconsole #ternary #odinlang 010
Sam Abbott-Kennedy @samothyk.bsky.social · 03/08/2026I switched the ternary emulator's tilemap to 3 trits per pixel. Now figuring out how to draw tiles with code is much easier. Also this means they can have a colour depth of 27 colours! All with space for more tiles in VRAM than a Gameboy #fantasyconsole #ternary #emulator 000
Sam Abbott-Kennedy @samothyk.bsky.social · 02/08/2026Most insane project yet, a ternary CPU based emulator for a console that never existed. I have the CPU and PPU working well enough to transfer tiles to the screen, but working out the ternary encoding of each tile by hand is melting my brain 😅 #fantasyconsole #ternary #odinlang 110
Sam Abbott-Kennedy @samothyk.bsky.social · 23/07/2026Dabbling in #odinlang once again, I forgot how nice of a language it is. No llm no Google just the docs on one screen and the text editor on the other like god intended 010
Sam Abbott-Kennedy @samothyk.bsky.social · 18/07/2026Continuing OSR-posting, this is the class I'm happiest with (it's also the most complete class besides the Warrior). The Devout covers the cleric/paladin archetypes with a unique casting mechanic that I should really test. Favour rolls feel a bit jank and maths heavy but I like what they're doing 100
Sam Abbott-Kennedy @samothyk.bsky.social · 17/07/2026In my everlasting quest to start new projects I'm trying to design a sort of OSR TTRPG. I'm having fun with the spells section, can you guess which games are inspiring me? #OSR #TTRPG 231
Sam Abbott-Kennedy @samothyk.bsky.social · 08/05/2026The Firered romhack with only gen 5 pokemon is still going. The increased level curve and power creep is really refreshing. Also figured out how to change the overworld pokemon sprites! #pokemon #romhack 010
Sam Abbott-Kennedy @samothyk.bsky.social · 06/04/2026Working on something completely different, what if the unova dex was the OG 151 #pokemon #romhack #frlg 120
Sam Abbott-Kennedy @samothyk.bsky.social · 20/03/2026Spent a few days playing with the game of life program, fixed a lot of bugs in the language doing so. I should make more projects like this to stress test the language, any ideas for what else I should try coding? #compiler #programming #raylib 060
Sam Abbott-Kennedy @samothyk.bsky.social · 18/03/2026Managed to build a cheeky little game of life simulator in my programming language! #programming #compiler #raylib 140
Sam Abbott-Kennedy @samothyk.bsky.social · 17/03/2026Anonymous structs have blown open a whole new slew of features. Multiple return values and tuples basically for free #compiler #programming 031
Sam Abbott-Kennedy @samothyk.bsky.social · 17/03/2026Been noodling on how my language will handle anonymous structs. They're not done yet but I think they'll be pretty loose, able to coerce between compatible named structs. Plus they'll basically act like tuples once you can create anonymous struct literals, which is nice! #programming #compiler 010
Sam Abbott-Kennedy @samothyk.bsky.social · 15/03/2026Gave in and added function receivers, and I think they look pretty swanky. Just means that &self is automagically converted into a parameter `self: &Vec` 010
Sam Abbott-Kennedy @samothyk.bsky.social · 15/03/2026Getting to the point where I can write semi-serious programs in my language. It's a great way to find a bunch of subtle bugs and missing functionality. E.g. here's a ~totally functioning~ gameboy emulator #programming #compiler #raylib 170
Sam Abbott-Kennedy @samothyk.bsky.social · 14/03/2026Had to implement some name mangling when emitting functions to lay the groundwork for interfaces, and I noticed this gave me function overloads for free. Take that, C! #compiler #programming 010
Sam Abbott-Kennedy @samothyk.bsky.social · 12/03/2026It's all coming together. Now I have unions I can implement the optional type ?T which is just a tagged union. In addition I could implement rust style try-unwrap of optionals basically for free with all the parts I have! Here opt_return only prints x if it's some, else it returns early! #compiler 030
Sam Abbott-Kennedy @samothyk.bsky.social · 11/03/2026Now with the fancy struct syntax, implementing tagged unions was relatively easy. Also got rid of all those pesky semicolons messing up the place #compiler 010
Sam Abbott-Kennedy @samothyk.bsky.social · 10/03/2026Blew apart my struct and function parsing to allow default values and named arguments. Pretty swanky imo #compiler 010
Sam Abbott-Kennedy @samothyk.bsky.social · 09/03/2026Not sure it's the greatest use of it but the new `with` statement works nicely with raylib 😅 #raylib #compiler 110
Sam Abbott-Kennedy @samothyk.bsky.social · 09/03/2026Added a defer statement to my language, but I didn't like how the resource acquisition and disposal had to be separated. So I added a with statement that just desugars to defer, and I kinda like it! #compiler 030
Sam Abbott-Kennedy @samothyk.bsky.social · 08/03/2026Starting on the memory management for my language. Nothing fancy but just a few more guard rails than C. Every pointer has an "origin": Stack, Param, Heap, or Global. Only Heap can be freed, and Stack can't be returned from functions. Maybe this will cause problems but we'll see! #compiler #llvm 110
Sam Abbott-Kennedy @samothyk.bsky.social · 04/03/2026Osmium Raylib ffi speedrun #compiler #llvm #raylib 020
Sam Abbott-Kennedy @samothyk.bsky.social · 04/03/2026Decided the next logical step from modules was ffi, surprisingly straightforward to implement! Now I can tuck all that nasty ffi code in a libc.os or something #compiler 110
Sam Abbott-Kennedy @samothyk.bsky.social · 04/03/2026I managed to implement a somewhat halfway decent module system. I'm not thrilled that the import needs the relative path but it'll do for now. Plus it handles the same file being imported multiple times across the compilation graph 😌 #compiler #llvm 120
Sam Abbott-Kennedy @samothyk.bsky.social · 01/03/2026Added strings to my language, since they're just backed by a slice of u8's all the regular slice operations just worked out of the box Again nothing real languages don't do but it's so satisfying seeing it work! #compiler #llvm 040
Sam Abbott-Kennedy @samothyk.bsky.social · 28/02/2026One huge rewrite later and a brand new backend (LLVM) and I'm extremely happy with my programming language's slices. Nothing fancy that any other real language doesn't do but it's fun seeing my scrappy little compiler go. #compiler 110
Sam Abbott-Kennedy @samothyk.bsky.social · 11/02/2026Taking structs to weird new places (java records) #compiler #development 010
Sam Abbott-Kennedy @samothyk.bsky.social · 10/02/2026Trying to decide if I want the easier to parse, trendy variable: Type syntax, or the (imo) nicer but harder to parse Type variable syntax. Mainly I'm just trying to bikeshed so I don't have to think about implementing a module system 😔 #compiler 100
Sam Abbott-Kennedy @samothyk.bsky.social · 06/02/2026Writing a compiler, so far the language looks pretty cozy but every new feature I add pulls it closer to either zig or rust 😩 020
Sam Abbott-Kennedy @samothyk.bsky.social · 03/08/2025Brewing again, this time a sort of west coast IPA to use up some Pacific Sunrise hops I got for cheap. A bit lower OG than I wanted but still a respectable 1.054. The Kveik has already munched that down to 1.020 so today is dry hop day apparently 🍻 020
Sam Abbott-Kennedy @samothyk.bsky.social · 25/04/2025Berry sour is underway, 62/30/8 pils/wheat/oats. About 8 IBU of saaz with a late addition of mosaic and some frozen blackberries I had in my freezer OG was bang on target at 1.042, and pitched 1pk Philly Sour at 23C Once it slows down I'll be adding more frozen berries 🍻 #homebrewing #beer 140
Sam Abbott-Kennedy @samothyk.bsky.social · 23/04/2025The sun finally came out after days of rain so I had to take some screenshots of my new oblivion remastered character 040
Sam Abbott-Kennedy @samothyk.bsky.social · 12/04/2025Strawberry wheat beer bubbling away, the saison yeast chewed through the base beer in 3 days so the strawberry puree has now gone in. Lovely colour but hopefully it clears up before bottling 🍻 #homebrew #beer 110
Sam Abbott-Kennedy @samothyk.bsky.social · 05/04/2025Made what started as a pseudo wheat beer/hitachino clone that sort of became its own thing. Smells great but basically tastes like nothing. I think I should've used more coriander and orange to offset how little hops I used Lesson learnt, next onto a strawberry wheat beer 🍻 #beer #homebrew 000
Sam Abbott-Kennedy @samothyk.bsky.social · 07/03/2025Making a saison just in time for spring #homebrewing Adjusted some things to account for my terrible efficiency and hit all my numbers 💪 221
Sam Abbott-Kennedy @samothyk.bsky.social · 28/10/2024"don't talk to me or my son ever again" 🍄📷 11398
Reposted by Sam Abbott-KennedyТsфdiиg @tsoding.bsky.social · 20/10/2024Some of my old banger from Xitter - The Creator of C++ 2602
Sam Abbott-Kennedy @samothyk.bsky.social · 16/10/2023A few fairytale lads from my walks 🍄📷 Not quite sure what the big round boy is 1201