Show HN: A browser IDE for m68000, Z80 assembly (and more), with graphics (asm-editor.specy.app)

1 points by specy ↗ HN
Asm Editor is an open-source browser IDE for writing, running, and debugging assembly.

It currently supports M68K, Z80, MIPS, RISC-V (32- and 64-bit), and x86-64. The debugger includes breakpoints, backward stepping, execution history, register and memory inspection, and other tools intended to make assembly easier to understand.

I recently added graphics, keyboard, and mouse support, so it’s now possible to build small games and other interactive programs.

The project is aimed primarily at university students learning assembly. The M68K emulator takes inspiration from Easy68K, while the MIPS emulator uses the same emulator as MARS. Both are commonly used in computer science courses.

I’m also working on interactive courses for those architectures, allowing students to learn and experiment directly in the app.

The app also has architecture documentation, shareable files, project templates, and tools for professors to create exams.

You can create a project from one of the templates to quickly try it out. I’d love to hear your feedback, particularly from people who teach or have learned assembly.

Demo: https://asm-editor.specy.app/projects/create (pick the language and template you prefer)

Repo: https://github.com/Specy/asm-editor

4 comments

[ 0.30 ms ] story [ 3.5 ms ] thread
(in case it matters, I tried z80)

I see we have #include as usual, but how do I add files? Wasn't clear to me.

Also I would like to download the assembled & linked binary. That kind of usage may not be what you're going for, but then I can run it on an active device too, not just in the emulator.

The app was mostly made to run small snippets to teach assembly but I'm working on adding multiple source files right now and it's almost finished!

The long term goal was to also add "compile from C" which shows the C to assembly compilation, which can then be emulated line by line.

About the download of assembled binaries, on the roadmap there is upload and download of binaries so you can disassemble some binary, read the contents, compile programs and download them, the harder part is linking. All assemblers (except m68k) could in theory already export the binary, i just did not add the functionality yet.