Crawssembly
- 27 Devlogs
- 75 Total hours
Programming languages are lies! Learn how computers actually work! Scratch but for machine code. Runs on a custom-built rust-based VM and compiler. Over ~450 unlogged hours before starting Stardance.
Programming languages are lies! Learn how computers actually work! Scratch but for machine code. Runs on a custom-built rust-based VM and compiler. Over ~450 unlogged hours before starting Stardance.
ATTENTION! The moment has arrived; The CRAWSSEMBLY Raffle!
Get the chance to win a LIMITED-EDITION installer and collectable Crawssembly Disc!
The disc contains the official compiler, virtual machine, and documentation. Also included are un-released legacy files from development. Simply follow Crawssembly on Stardance to enter your name!
Shipping may vary depending on the UK Postal service. There are 3 physical First Edition discs available worldwide. If you’re outside the UK, I may ask you to contribute towards postage if shipping costs are high.
The 3 winners will be announced on the 1st of July! So get your entry in before 23:59 UTC 30th June! Don’t miss this opportunity! Follow Crawssembly today and support open-source learning!
I want to thank the Stardance devs for my Super Star tag! Peak staff fr
⭐ cskartikey marked your project as a Super Star! As a prize for your great work, look out for a bonus prize in the mail :)
Random number generator has been added to the example group, I used XOR and bit shifts with the new command io time milli, which extracts the current UNIX timestamp in milliseconds, as the seed. Basic, but quite random from a human perspective.
I’ve been working on some examples, the biggest one being a simple calculator.
Graphics bug fixed! Crawssembly for macOS is officially working!
File input now works for macOS Crawssembly! Run craw myprogram.craw --file myinputs.file to run! (The image is from Linux, not from my Mac because it’s too old for me to log in to stardance and post a ss from it, but I can assure you it works!)
macOS can now do everything windows can except use the speakers, scan-line free graphics, and access files. These will be the largest source of my time.
I’m currently working on getting macOS support running. At the moment, macOS is only confirmed to work to the same level as Crawssembly Online. Hopefully I can get it to the same standard as Linux and Dos systems!
My respect to real CPU designers, this is tricky work! The most difficult thing is working with the 256 different registers, that’s lots of wiring to get done.
Dedicated documentation website created, and the new demo is live at https://crawssembly.ultimatecraw.xyz/
Demo and README in working order, for real this time!
The final things to do before shipping:
Full macOS functionality: Maybe
Add documentation to demo: Yes
Add syntax highlighting to demo: Maybe
Final Cleanup: Yes
I don’t usually work with frontend, so the demo won’t look anywhere near as nice as some of the other projects on Stardance, but as long as it’s usable then I’m happy.
Crawssembly demo now working! Luckily it wasn’t as hard as I expected. I’ve tied it to an old URL for now, and it’s basic, but it works.
README.md Complete! The final steps is creating the demo! (And maybe getting MacOS working)
Many thanks to Koy Camerini-Yachdav, who tested Crawssembly on Mac OS! Their efforts go towards helping more people understand how computers actually work. ❤️
In other news, Crawssembly is soon ready for the first official release. I estimate <2 weeks before a ship fully working on both Linux and Windows systems will be made!
File inputs are finally ready, I think craw now has all it needs for the first release. Exciting times!
README.md now has documentation about all commands that will be in the first release. I’m yet to make the live demo and the documentation about machine codes though!
Crawssembly Programs can now be force-quit by pressing CRTL+C. I should have added this long ago, but I added it in the end.
I’ve been doing some user testing, and have made changes to the documentation and program, such as adding craw myfile.craw --dump-decoded and craw myfile.craw --tui commands easy to use and run.
Dynamic graphic size achieved! You can now set the screen size of the Crawssembly program by running craw myfile.craw --screen WIDTHxHEIGHT using the –screen argument.
README.md now contains enough information about Crawssembly to make it Turing Complete. The rest involves storage, input devices, and output service commands.
Crawssembly is officially clear for Windows & Linux OS releases! Mac OS support will hopefully come soon. There may be some linux distros that are special and cause some weird and wonderful problems, but for the generic versions (Think Ubuntu) I’m confident that Crawssembly is compatible.
Never understood what binary actually is? Why is it important, and why are binary skills becoming less important? All this, and more, is revealed in the Crawssembly Project; the ultimate guide to learning the fundamentals of real computer design, and assembly-like languages.
More work done on the docs today. I’m assuming near-zero knowledge about computing to allow all to access the Crawssembly Project
Most of my efforts today are going to the README.md file, helping beginners get their heads around Assembly-like languages
Currently working on adding logical branching (‘if’ statements) to CRISP, my high-level language to compile into Crawssembly
Crawssembly - Initial Post