Did you write code for #Psion machines in the #80s and #90s?
We're calling for you to open source your code!
I'm working with a group of enthusiasts, building a library of information about the SIBO/EPOC16 platform. Your old code could give valuable insight, as well as encourage people to write new code.
We're especially interested in old C and #x86#assembly.
Upload it to your public repository of choice, and set it free!
6+ years ago I've designed a #8bit computer / game console architecture in Logisim where you can play small games on, written in #assembly and max. 256 bytes. It is even less as the I/O is occupying some bytes as well.
You get a 5x5 LED matrix as an output, arrow keys and an A and B button for input. No interrupt handling (ISR), that would have made the whole thing suddenly much more complex.
The architecture supports all sorts of fancy addressing modes, has two common purpose registers, a stack and ALU with common logical and math operations.
As a test I've written a simple Snake game in assembly for it which gets translated into micro code with the help of an assembler tool written in C. One can load it into the memory of the computer and start to play as soon as the clock runs (in the simulator its 4.1kHz but who knows what really makes sense, I guess it depends on the used transistors and their characteristics and if the game feels nice to play for a human).
Maybe one day I'll build it all in actual hardware with small cartridges (EEPROM) to have multiple games to play.
The funniest thing is that this project kinda became a thing for computer science students on YouTube, I get many questions how people can fork it as they need to do the same for their homework 😅
Browsing through GitHub I discovered an inconspicuous repo that's actually a gem. Z80 Tools is a Z80 Assembly development environment comprising an editor, assembler, debugger, terminal emulator, and other tools.
Here's Z80 Tools running under Crostini Linux on my Chromebox.
I'm trying to fix a patch to allow #pixman's #ARM#NEON#assembly code to build with clang. They perform a lot of mechanical changes to switch to the "unified" ARM assembly syntax (.syntax unified), supported by both #gcc and #clang.
With clang the code builds but fails 3 of the tests in the test suite with what appear to be unaligned accesses. With gcc, the test suite passes before and after the patches.
This old paper tells the history of early Intel CPUs and discusses their features and major design decisions: the 8008, 8080, 8085, and 8086. The paper provides interesting technical and historical tidbits, such as the reason why the 8008 was little endian and hence later CPUs.
I posted a short note on a great resource on Intel 8086 Assembly, the series of books "Programming Boot Sector Games" and "More Boot Sector Games", to explain why I like them:
There are some popular #reverseengineering projects for #retrogames whereby the binary is completely disassembled, documented, and ported to a modern compiler or assembler for maintainability.
Sometimes games get quality of life improvements. Sometimes these are bugfixes sometimes they're more than that. What kinds of QOL improvements do you like to see the most? What kinds of QOL improvements go too far?
#KnowYourRights Article 20 of the Universal Declaration of Human Rights affirms the right to freedom of assembly and association. This means that everyone is free to assemble peacefully with others in order to express, promote, pursue and defend their common interests. This fundamental right is crucial to a democratic society because it enables individuals to come together, whether for social, political or economic purposes, and fosters a spirit of community and collective action.
It ensures that people can form and join clubs, organisations, political parties or any other group to express their ideas and aims without fear of intimidation or persecution. This right is essential to the healthy functioning of any society because it encourages dialogue, mutual understanding and the pursuit of common goals in a peaceful and cooperative manner. #IHRF#HumanRights#Assembly#Association#protest
After the kids are in bed I might get two hours where I have the brain function to get stuck into assembly coding. When I hit a problem bigger than two hours I get stuck for a while. This was the case moving specific movement and render code I wrote for the player to be more generic for entities including bullets and enemies. Now I'm unstuck this is looking more like a game.
This is a demake of Geometry Wars, which is a twin stick shooter - you may have noticed that the Gameboy does not have twin sticks. ➕ 🔴🔴
But I have some ideas for that to try out, either before or after I make the first enemies. I'm starting to get the hang of the hardware and thinking in assembly now, and I have more reusable functions. Progress!