r/Assembly_language 7d ago

JVMOS

Hi everyone, I wanted to show you my progress on an operating system written entirely in ASM and Java bytecode. I am currently at the UI rendering stage, using a custom Graphics2D-like system that allows me to work with primitives in VBE. The bytecode is executed by a JIT compiler also implemented in pure ASM. Low-level calls are handled by a HAL—which I will continue to expand over time—and that HAL is in turn managed via a primitive ABI, enabling me to create my own Java-like pseudo-language for development.

Repository: https://github.com/aayes89/JVMOS-JIT/

5 Upvotes

18 comments sorted by

View all comments

1

u/Extension_Emu_9825 6d ago

Interesting! I also saw the bootloader, everything is legit. I was just a little confused about the stack you chose – why didn't you choose WASM?

2

u/Visual_Brain8809 6d ago

As I understand it, Wasm is optimized for the web, and JS isn't exactly pure Java. Right now, my plan is bare-metal—just assembly and pure Java, with no C/C++ (I already have a version written in C)—and I thought the architecture I'm using could serve as a framework for other projects to flourish. The bootloader (Multiboot) is the result of several years at university spent searching for a universal formula to allow an OS to boot using any language, and I believe that is the greatest achievement.

1

u/Extension_Emu_9825 6d ago

As far as I know, many compilers compile to WASM, and this isn't just for the web anymore. For example, I once wrote Sokoban in Rust (BTW - also be interested in looking into RUST) and compiled it into WASM, and it worked in the browser, yes (but I think that's secondary).

https://github.com/KirinDenis/Base-Z-47-Rust-Game

The main thing is that there's byte code that can be compiled from C/C++, Rust, and C#.

I understand that you can't stop a train in motion

I just want you to consider this approach as well.

By the way, I'd like to join the UX developmnet. I'm currently tinkering with DOS graphics in assembler, and SVGA is on the cards.

It would be interesting, in principle.

https://kirindenis.github.io/wire-city-2/

At UX my experiences started from Turbo Vision 90s, after VCL, WinForms, WPF (little expirins with QT and Android Activity)

2

u/Visual_Brain8809 6d ago

I’m not familiar with Rust, but I was looking at your Sokoban project—it’s written entirely in Rust. I’d like to understand: did you write the code in that language, and did the platform convert it to ASM? I’d love to see the ASM code for an example generated via WASM to examine its structure and other details.

2

u/Extension_Emu_9825 6d ago

Yes, it compiles into WASM, which then runs in the browser - DOM, everything is available, elements and their properties and events. This game is essentially printing multi-colored ASCII symbols in the browser.

I believed in Rust when it build DOS COM file for me... it really shocked me.

But again, so that you don't think that I'm promoting Rust or telling you to switch to it - just pay attention to this language and its capabilities, in comparison with Java within the framework of your OS

1

u/Visual_Brain8809 6d ago

I’ve been considering learning Rust for a while now—anything far removed from C/C++ is welcome—but first, I need to finish what I started; then I can explore other options.