bespokeasm
bronzebeard
Our great sponsors
bespokeasm | bronzebeard | |
---|---|---|
5 | 3 | |
18 | 34 | |
- | - | |
7.0 | 3.9 | |
4 months ago | about 2 months ago | |
Python | Python | |
GNU General Public License v3.0 only | MIT License |
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.
bespokeasm
-
slu4's Minimal CPU Build
Of course, I did what I do and I added support for this computer in my BespokeASM customizable assembler. This allowed me to write some larger projects than slu4's "minimal assembler" easily enabled. And with that, I ported my 32-bit primes calculation code to the slu4 Minimal CPU. What I found fascinating is that this code ran about the same speed (the PUTEY-1 is a small bit slower) in terms of how long it takes to find a prime value as the code runs on my PUTEY-1 breadboard TTL running at about one fourth the clock speed (480 KHz vs 1.8432 MHz). I attribute that to the more sophisticated ALU I built in my TTL CPU that does bit shifting (left and right) and value comparisons directly in hardware. Of course, I understand that the Minimal CPU's whole goal is to be minimal, I just still found this comparison interesting.
-
My updated 16 bit memory + updated control logic + memory map controller + 8 bit instruction register is ready to be integrated into my breadboard CPU.
I took have worked on and developed a compiler that is actually read to encode stack operation including indirect value referencing with an address offset to get the mov a, [sp+2] type instructions. You can check it out here: BespokeASM. I have some more development to do with this assembler, notably around macros, includes, and other assembler directives, but the basics for the various addressing modes are in there and the ability to define your instruction set through configuration.
- 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.
bronzebeard
-
How can I build/run RISC-V assembly on macOS?
If you want to play around with bare metal assembly you can even get away with almost no dev environment: https://github.com/theandrew168/bronzebeard
- Novice needs help with RISC-V toolchain
What are some alternatives?
customasm - 💻 An assembler for custom, user-defined instruction sets! https://hlorenzi.github.io/customasm/web/
RISCV - A Pipelined RISC-V RV32I Core in Verilog [Moved to: https://github.com/georgeyhere/Toast-RV32i]
platform-gd32v - GD32V: development platform for PlatformIO
eater-sap-1-improvements - Improvements and modifications made to the Ben Eater SAP-1 breadboard computer
riscv-ubuntu - Run RISC-V development environment using docker
PeachPy - x86-64 assembler embedded in Python
Minimal-UART-CPU-System - TTL-only CPU featuring UART I/O, an expansion port, 512KB SSD at up to 10MHz clock speed
derzforth - Bare-metal Forth implementation for RISC-V
genesis - Minimal OS written in Jack.
homebrew-riscv - homebrew (macOS) packages for RISC-V toolchain
alek - Assembly Learning Environment for Kids
first_nes - Create your own games for the Nintendo Entertainment System! This "starter" game is easily extensible for your own projects. Includes references.