customasm
bmos
Our great sponsors
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
customasm
-
Defining assembly instructions has killed my love of this game ultra fast.
I'm using customasm to write code in Turing Complete.
-
I was making adder circuits in games 8 years ago in an attempt to build a computer. I finally worked my way up and built a working computer!
also if you start writing programs for your own CPUs, use something like CustomASM so you don't have to write in machine code.
-
Vending Machine - FPGA
either way if you plan on doing more CPUs and similar in the future i highly recommend CustomASM.
-
My 8-bit cpu running at full speed
The source code was in Python. I was able to debug it using Arduino-based adapter and (by using some "magic") translate into machine code binary. Since then I've switched to CustomAsm for code compilation and have other means to debug (emulator and debugger tool).
- An assembler for custom, user-defined instruction sets
-
A really good assembler/compiler
Even though technically not an emulators-related post, I'd like to share a tool I've recently learned came across and found to be really useful. It's called customasm and is open source. It can compile assembly of any kind as long as you feed it with (what's called) rules-definition. You can even write a higher level language profile (such as C, sort of) through it, the possibilities are countless, so to say.
-
Programming a breadboard computer via customasm
I've got the documentation in the wiki! https://github.com/hlorenzi/customasm/wiki/User-Guide
-
CUSTOMASM, using customasm is cool (made by hlorenzi). You write some code in assembly in a text editor, assemble, download to the breadboard computer and run it. Changing modifying or extending code goes superfast. Best programming tool sofar. Description of the code in the comment section.
Thanks to hlorenzi, making an assembler is a bunch of work. https://github.com/hlorenzi/customasm
-
Today I finished the RAM module for my 16-bit breadboard computer!
anyways, it might be a good idea to throw the entire project on Github once it's done. stuff like schematics, BOM, details about the function of the CPU, maybe an Assembler (CustomASM is pretty good), also maybe a simulator version in something like Digital or Logisim so that people can look at it, write programs, or rebuild it with different parts and such
-
I was wanting an assembler I can use with my breadboard CPU, but the only one that allowed custom ISAs is Windows only. So, I created my own assembler with Python for custom ISAs, and included a configuration file for the original instruction set of Ben Easter's SAP-1. Still a bit rough, but usable.
I used https://github.com/hlorenzi/customasm along with info from https://www.reddit.com/r/beneater/comments/cori8t/custom_asm_compiler_definition/
bmos
-
Stack/Heap corrupted by interrupts when doing multi-threading
I am actually using one stack per thread (plus one "default" stack where the setup of everything else is happening before I set up multi-threading/context switching). See: https://github.com/nschoellhorn/bmos/blob/feature/multitasking2/src/task.rs
What are some alternatives?
bespokeasm - An assembler that works with custom instruction sets.
Theseus - Theseus is a modern OS written from scratch in Rust that explores 𝐢𝐧𝐭𝐫𝐚𝐥𝐢𝐧𝐠𝐮𝐚𝐥 𝐝𝐞𝐬𝐢𝐠𝐧: closing the semantic gap between compiler and hardware by maximally leveraging the power of language safety and affine types. Theseus aims to shift OS responsibilities like resource management into the compiler.
logisim-evolution - Digital logic designer and simulator
tock - A secure embedded operating system for microcontrollers
lam - :rocket: a lightweight, universal actor-model vm for writing scalable and reliable applications that run natively and on WebAssembly
kernel - A Rust-based, lightweight unikernel.
Digital - A digital logic designer and circuit simulator.
rusty-hermit - Hermit for Rust. [Moved to: https://github.com/hermit-os/hermit-rs]
riscv-asm - risc-v assembly language
bottlerocket - An operating system designed for hosting containers
rustwasmc - Tool for building Rust functions for Node.js. Combine the performance of Rust, safety and portability of WebAssembly, and ease of use of JavaScript.
rust-raspberrypi-OS-tutorials - :books: Learn to write an embedded OS in Rust :crab: