frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

Open in hackernews

Show HN: The Montana MiniComputer

https://mtmc.cs.montana.edu/
99•recursivedoubts•18h ago
Hey HN, we just released the 1.0 of the MonTana Mini Computer (MTMC-16), a virtual teaching computer to help students understand how low level computing works. It is a 16 bit computer with only 4k of ram, but we've made some design choices that help maximize what you can accomplish with the limited hardware

https://mtmc.cs.montana.edu/

It is written in java (sorry) and provides a web interface that has:

- a blinken-lighten display for registers

- a memory view with different filters you can apply

- a Gameboy-like game pad

- a console you can use to interact with the computer (including running assembly instructions directly)

- a file browser with an integrated editor for editing file

So everything you need to get going on low level programming.

It includes some sample code, including snake and conway's game of life, in the /src directory.

You can watch a quick start video here: https://www.youtube.com/watch?v=m_6pZ_sT3y0

We have the start of a C compiler for the machine, but that's still a work in progress. We plan on improving the interactivity and visual feedback over the next few months, so any feedback you can give us would be very much appreciated!

Comments

jbanes•18h ago
Fun Fact: You can pass your starting patterns into the Life program. There are a bunch in /data. And you can make your own as long as they end in .cells

My favorite is: life /data/galaxy.cells

AnimalMuppet•18h ago
A blinkenlights display? Sorry if this message is garbled; I need to wipe the drool off of my keyboard...

You pointed us to a video, but not to a URL where we can either download it or interact with it online. Are there such?

jbanes•17h ago
The title itself is the link. But here it is again:

https://mtmc.cs.montana.edu/

We made sure it was HTML3 compliant for shits and giggles

AnimalMuppet•17h ago
Argh. I was thinking of an "Ask HN", where there is no link. My error. Thanks, though.
colingauvin•17h ago
I am a Bozeman resident, got my PhD from MSU and my wife works there. Really was not expecting to see something from MSU make the front page of HN, well, ever, really. This is pretty cool.
recursivedoubts•17h ago
Go Cats!
linuxlizard•17h ago
I did my MS-CS in Bozeman. I'm super excited to see MSU on HN FP as well! Very cool!
crabl•17h ago
Bozeman tech scene is popping off recently!
dboreham•15h ago
Waving from the Livingston side. There's quite a bit of cool stuff going on at MSU but you have to keep a look out for talks at MoR and on campus (typically in the winter/spring) to see it. Also the local IEEE chapter, although shamefully I think I've only made it to a couple of meetings in 25 years.
kaladin-jasnah•17h ago
This is cool! As someone who has TA'ed similar classes to this, I've noticed that students usually find classes that teach low level programming and assembly a drag. They often complain and find no interest in the material. Part of the feedback I've received on that is that 1) it's useless and 2) there is so much abstraction that it's hard to really understand what's going on if you already don't have a very strong mental model of how a computer works, which is not taught or expected in courses like these.

I had the opportunity to play with an Altair 8800 clone and it seemed so much more intuitive there's not fifty layers of abstraction over how things like memory, I/O, etc. work, and you can inspect what's going on very easily. From looking at this project, it certainly feels similar, but much more easily accessible and programmable, while also really letting students get a feel for the organization of a computer without the abstraction. I really think this would help point (2). As for point (1), with easy graphics output, it's easy to do things like write games (like the aforementioned snake), and I think that would already make this a lot more fun than the kind of assembly and C code that the course I TA'ed wrote, such as "find the max of an array in memory using only assembly," or "implement a database to store information about courses in C."

As a side note, it would be super cool to have things like CTFs that use the MTMC for pedagogical purposes, à la CMU's "Bomb lab"!

I really hope that universities adopt either this or something like this for introductory computer organization and low level programming courses. I genuinely believe that it would make a big difference in students developing a passion for low level programming, and I'm really glad that this work was done.

Side note: Java is honestly a great idea, since most students learn Java and thus the barrier of entry for contributing to this would be greatly reduced.

musicale•17h ago
Cool. I wonder if some enterprising students (or others) might put together a physical hardware console that you could connect to a raspberry pi or fpga implementation?
jbanes•13h ago
We’re definitely hoping that happens at some point! One of my goals is to ensure the specs stay within the bounds of realistic hardware.
rrenub•16h ago
This is really cool! How can this be used to learn/refresh topics about low level programming? What do you recommend coding in this?
ethan_smith•15h ago
Try implementing a simple stack-based VM on it - it's a perfect stepping stone between assembly and higher-level languages while teaching you about memory management, instruction decoding, and execution flow all in one compact project.
jbanes•15h ago
There’s a built-in assembly editor with highlighting and intellisense autocomplete. Super easy to get started with coding assembly. AND you can run assembly directly from the command line. e.g. Type in “li t0 42” and 42 will be loaded into the t0 register.

Just pull up the Machine Specification for the full list of instructions and try it out!

sroerick•15h ago
Hello sir, can we take your class on this?
ted_dunning•14h ago
This is really nice work. Of course I, and probably 70% of all HN readers as well, have a bunch of nits to pick (in Java, memory too small, instruction set quibbles and so on) but this is still a very nice piece of work.

One of the best measures of your success is the number of ideas for extension that immediately pop into my mind. Memory mapped I/O of various kinds. DMA controllers with memory mapped registers. A forth interpreter. A tinyGo port. Bigger memory. An emulator for a Raspberry Pi or Pico. A scheme interpreter and compiler. A simple memory management unit.

jbanes•14h ago
Ted! We met years ago when you visited Truven for a MapR sale. Really awesome to see you here. :)

Many of the issues you're bringing up popped into my head when I started working with Carson on the project. But they've ended up being not a big deal. The machine is more than powerful enough to get through the lower level CS courses while being simple enough to be blindly obvious about how it all works.

We're also cheating in a few areas like compiling graphics to a separate ROM space to keep the memory usage down.

Carson and I have already chatted about eventually needing an MTMC-32 for Operating System Design classes. That would be the computer where Interrupts, TLBs, cache levels, pipelining, MMIO, block devices, etc, etc, etc would make sense. They'll be able tp build the Operating System themselves and figure out how to make it all work. And ideally share software with each other that they can compiler for their OS. (Like a TinyGo :))

IMHO, this is an important step toward a suite of educational tools for the future.

cushychicken•14h ago
Fuck yeah. Very cool.

I got my EE degree from MSU and grew up in Bozeman. (I live in Boston now and I wonder every fucking day why I don’t live in Montana any more.)

This has a whiff of something Brock Lameres or Ross Snider would be involved in. Except for the Java part. Nobody at MSU did Java except the CS department lol.

bsmith•13h ago
"Woooo" Slaps chalk board. "Are you pumped for today's lesson?!" -Brock

Best classes ever.

cushychicken•8h ago
GLASS

IN

YOUR FACE

Do not download the app, use the website

https://idiallo.com/blog/dont-download-apps
804•foxfired•10h ago•450 comments

Open Sauce is a confoundingly brilliant Bay Area event

https://www.jeffgeerling.com/blog/2025/open-sauce-confoundingly-brilliant-bay-area-event
89•rbanffy•2d ago•27 comments

Turn any diagram image into an editable Draw.io file. No more redrawing

https://imagetodrawio.com/
34•matthewshere•2h ago•8 comments

CCTV Footage Captures the First-Ever Video of an Earthquake Fault in Motion

https://www.smithsonianmag.com/smart-news/cctv-footage-captures-the-first-ever-video-of-an-earthquake-fault-in-motion-shining-a-rare-light-on-seismic-dynamics-180987034/
110•chrononaut•5h ago•19 comments

It's time for modern CSS to kill the SPA

https://www.jonoalderson.com/conjecture/its-time-for-modern-css-to-kill-the-spa/
441•tambourine_man•11h ago•253 comments

Show HN: Auto Favicon MCP Server

https://github.com/dh1011/auto-favicon-mcp
7•dh1011•1h ago•0 comments

Users claim Discord's age verification can be tricked with video game characters

https://www.thepinknews.com/2025/07/25/discord-video-game-characters-age-verification-checks-uk-online-safety-act/
35•mediumdeviation•4h ago•22 comments

Simon Tatham's Portable Puzzle Collection

https://www.chiark.greenend.org.uk/~sgtatham/puzzles/
12•sogen•1h ago•4 comments

It's a DE9, not a DB9 (but we know what you mean)

https://news.sparkfun.com/14298
380•jgrahamc•19h ago•244 comments

Never write your own date parsing library

https://www.zachleat.com/web/adventures-in-date-parsing/
176•ulrischa•15h ago•227 comments

Windsurf employee #2: I was given a payout of only 1% what my shares where worth

https://twitter.com/premqnair/status/1948420769945682413
548•rfurmani•1d ago•366 comments

Vanilla JavaScript support for Tailwind Plus

https://tailwindcss.com/blog/vanilla-js-support-for-tailwind-plus
244•ulrischa•14h ago•118 comments

Why MIT switched from Scheme to Python (2009)

https://www.wisdomandwonder.com/link/2110/why-mit-switched-from-scheme-to-python
217•borski•16h ago•186 comments

Efficient Computer's Electron E1 CPU – 100x more efficient than Arm?

https://morethanmoore.substack.com/p/efficient-computers-electron-e1-cpu
196•rpiguy•16h ago•69 comments

Animated Cursors

https://tattoy.sh/news/animated-cursors/
178•speckx•14h ago•39 comments

Experimental surgery performed by AI-driven surgical robot

https://arstechnica.com/science/2025/07/experimental-surgery-performed-by-ai-driven-surgical-robot/
91•horseradish•12h ago•94 comments

The Rise and Fall of the Hanseatic League

https://worksinprogress.co/issue/the-rise-and-fall-of-the-hanseatic-league/
4•loeber•3d ago•0 comments

Steam, Itch.io are pulling ‘porn’ games. Critics say it's a slippery slope

https://www.wired.com/story/steam-itchio-are-pulling-porn-games-censorship/
482•6d6b73•16h ago•630 comments

The future is not self-hosted

https://www.drewlyton.com/story/the-future-is-not-self-hosted/
303•drew_lytle•20h ago•283 comments

Why I Do Programming

https://esafev.com/notes/why-i-do-programming/
10•artmare•2h ago•3 comments

What is X-Forwarded-For and when can you trust it? (2024)

https://httptoolkit.com/blog/what-is-x-forwarded-for/
23•ayoisaiah•2d ago•5 comments

Developing our position on AI

https://www.recurse.com/blog/191-developing-our-position-on-ai
206•jakelazaroff•2d ago•65 comments

A Union Pacific-Norfolk Southern combination would redraw the railroad map

https://www.trains.com/trn/news-reviews/news-wire/a-union-pacific-norfolk-southern-combination-would-redraw-the-railroad-map/
52•throw0101c•11h ago•82 comments

CO2 Battery

https://energydome.com/co2-battery/
126•xnx•16h ago•112 comments

Women dating safety app 'Tea' breached, users' IDs posted to 4chan

https://www.404media.co/women-dating-safety-app-tea-breached-users-ids-posted-to-4chan/
417•gloxkiqcza•17h ago•532 comments

Programming vehicles in games

https://wassimulator.com/blog/programming/programming_vehicles_in_games.html
263•Bogdanp•18h ago•59 comments

Researchers value null results, but struggle to publish them

https://www.nature.com/articles/d41586-025-02312-4
111•Bluestein•2d ago•41 comments

Generic Containers in C: Vec

https://uecker.codeberg.page/2025-07-20.html
20•uecker•3d ago•16 comments

Show HN: Apple Health MCP Server

https://github.com/neiltron/apple-health-mcp
175•_neil•2d ago•35 comments

Steve Jobs' cabinet

https://perfectdays23.substack.com/p/steve-jobs-cabinet
74•padraigf•3d ago•63 comments