Dev Blog

Home Pi PicoSystem Dev Server Rust Game Development Misc Pi Microcontrollers Embedded Web Dev

resurrecting pixels, through grit, glory and GRAM.

while digging through my boxes of electronics, i stumbled upon an old motherboard from a mini pc. i had little hope when plugging it in but lo and behold, she booted! into freebsd 64 bit. i knew exactly what it was too when i saw the red logo. its an old Metin2 private server.

mini motherboard
Mini motherboard, AK1N335

caseless

the motherboard itself was bare, no case, nothing. so i fashioned one from an old piece of baton and a sheet of acrylic from an old photoframe.

building a diy case
DIY case in progress

ideas go bing

obviously i wanted to get the freebsd server running, and metin2 itself. i have a large collection of many revisions of its source code, so anything is possible. but my adhd brain had a fantastic idea, because its headless I can utilise my pico 1.8 lcd and rp2040plus, to show data from the server right?

the finished case
DIY case with pico 1.8 lcd and rp2040plus

wrong

i tried rust. i tried absolutely everything, i was going through linker hell. any uf2 produced was corrupted, then i finally got some non corrupted uf2s... with no entry point! even using no mangle, i had no luck and was facing wall after wall.

different angle

so i decided a new angle. i tried circuitpython just to test for hardware faults. it worked instantly, so the hardware wasnt to blame. then i used circuitpythons init sequence and rewrote the entire driver in C.

the entire driver?!

yup, had to. the waveshare ones i found werent working at all, i was looking at white screens for 3 days and getting nowhere. i may be a rust dev, but i have a background in C and im happy to switch languages to adapt if needs be.

did it work?

you betcha. it did! i FINALLY had something on the screen that wasnt white. it was garbled, but it was output! after days of mangling, it felt great.

output from the lcd
finally, something that isnt a white screen!

the heart wants what it fonts

it was finally time to try text output. all tests worked, the screen was now filling with colour. i had to find a font map and adapt it, then i had to debug because my map started at 33, not 32. it was causing garbled output, hello was ifmmp, for example. after fixing the error, hello word finally appeared! success.

side quest/main quest

this was a serious side quest that ended up becoming a main quest, but i finally had it. everything is ready now for the next stage which is writing some form of server for the freebsd machine which will collect and send data via usb to the rp2040. in next post, we wire dreams to bytes.
laters! dru xo




Blog GitHub LinkedIn ORCID Stack Overflow