Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge. Learn more →
Top 14 Rust X86 Projects
-
Project mention: The longest word you can type on the first row of a QWERTY keyboard | news.ycombinator.com | 2023-08-24
You can play with MS-DOS 6.22 in a virtual-machine-in-browser here[1]. That VM comes with Vim (non-standard) so use Vim or Edit to create a word list and save as c:\words.txt. Then yype all this code into a batch file using `edit run.bat` and then run it with `run %1`. MS-DOS 6.22 came with QBASIC so I think that's allowed; I tried to avoid it but wasn't able to. NB. DOS is way less capable than Windows cmd prompt so there's no `for /f` or anything. "Dir /OS /B" sorts files by size and that view will leave the largest files on screen as the answer. The files will be one per word, containing the word so the size in bytes is the word length and the filename is the word to see it in the file listing. The words will be echoed into the files by a helper batch file containing `echo %1 > %1`. Building the helper batch file is hard because echo cannot echo > into a file. The qwerty filtering is a chain of `find /V "a"` for excluding each of the other rows cough. I then couldn't loop over the file lines without QBASIC.
[1] https://copy.sh/v86/?profile=msdos
If you never used MS-DOS classic, try "edit test.txt" and see how it has a nice TUI, where Alt+F brings up the File menu, the brightly coloured letters are the hotkeys, so Alt+F, X will quit. Shift+Down will select a line, Shift+Delete to cut and Shift+Insert to paste. Ctrl+left/right arrows to jump forward/back a word, Ctrl+Shift+Left/Right to select a word. 29 years later those keyboard patterns still work in this FireFox editor, in current notepad, WordPad and Word, and in my muscle memory. Escape tends to exit back out of popups and menus. Quit and try "help date" and see the TUI help, where the green angle brackets are hyperlinks and can be TAB'ed between, Enter to activate and Escape back. F1 is still the help key, only it actually showed offline help back then instead of doing a Bing search for 'get help in notepad'. Quit and run QBasic, see how F5 runs the code.
[2] by Geoff Cutter: https://groups.google.com/g/alt.msdos.batch/c/Ozg2C-ANCqI
[3] Phil Robyn's QBASIC loop sample https://groups.google.com/g/alt.msdos.batch/c/44NbdZJ2-p4/m/...
-
Project mention: How to cross Compile on Debian for: Mac / FreeBSD / OpenBSD / Android ... ? | /r/rust | 2023-07-11
I cross compile to Mac, bsd, windows, etc cross ... Works great for me with either docker or podman.
-
Mergify
Updating dependencies is time-consuming.. Solutions like Dependabot or Renovate update but don't merge dependencies. You need to do it manually while it could be fully automated! Add a Merge Queue to your workflow and stop caring about PR management & merging. Try Mergify for free.
-
iced
Blazing fast and correct x86/x64 disassembler, assembler, decoder, encoder for Rust, .NET, Java, Python, Lua (by icedland)
I've worked with Iced .NET Assembler in the past, and it shouldn't be too much trouble to use it make a trampoline.
-
static-web-server
A cross-platform, high-performance and asynchronous web server for static files-serving. ⚡
Project mention: Best Practice For Serving Static (Frontend) Files with NGINX in K8s? | /r/kubernetes | 2023-07-09I swapped to static-web-server for exclusively static files, it's only 4MB and its envvars are much easier than nginx's config files
-
I was a little confused why anyone would need or care for a cycle accurate 8088 emulator, but there's some answers on github. https://github.com/dbalsom/martypc
-
-
Project mention: Weird things I learned while writing an x86 emulator | news.ycombinator.com | 2023-02-02
This is a good list! Another fun quirk: because x86 is a register-memory architecture and allows all kinds of variants of reg/mem operand encodings, there are a handful of equivalent encodings with exactly the same lengths (and just slightly different ModR/M bytes). You can take advantage of this to do software fingerprinting or, in my case, steganography without changing an executable’s size or semantics[1].
-
InfluxDB
Collect and Analyze Billions of Data Points in Real Time. Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.
-
Project mention: JITting functions in Rust for runtime performance flexibility | /r/rust | 2022-12-16
Sounds similar to lineiform. Which isn't all that stable or actively developed, but it is a cute approach to writing a meta-jit in rust. It's a weird approach, but IMO it's worth more experimentation.
-
I made a toy std::fs implementation that does not depend on libc, i.e., using Raw Syscall. There are some voices in the community stating that we should make the standard library opt out of libc for better performance, so I decided to give it a try and wanna know if I could impl such stuff by myself.
-
-
-
-
-
If you're interested in Rust take a look at this repository I found which uses Rust without the usual bootloader library https://github.com/alexdev404/sapphire/tree/hello-rust
-
SonarQube
Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.
Rust X86 related posts
- A Test Suite for the Intel 8088
- The History of Windows 2.0
- Throwing away 10 months of work after 2 months on the job
- How to cross Compile on Debian for: Mac / FreeBSD / OpenBSD / Android ... ?
- dbalsom/martypc: An IBM PC/XT emulator written in Rust.
- dbalsom/martypc: An IBM PC/XT emulator written in Rust.
- dbalsom/martypc: An IBM PC/XT emulator written in Rust.
-
A note from our sponsor - InfluxDB
www.influxdata.com | 28 Sep 2023
Index
What are some of the best open-source X86 projects in Rust? This list will help you:
Project | Stars | |
---|---|---|
1 | v86 | 18,220 |
2 | cross | 5,022 |
3 | iced | 2,454 |
4 | static-web-server | 825 |
5 | martypc | 364 |
6 | udbserver | 284 |
7 | steg86 | 260 |
8 | lineiform | 155 |
9 | syscall.rs | 88 |
10 | xgadget | 53 |
11 | dream86 | 22 |
12 | bfc-rs | 3 |
13 | ThanOS | 1 |
14 | Sapphire | 0 |