I want a simple, bare-bones environment for working on my systems programming chops.
Every so often I think about how I would really love to develop the sort of discipline involved in doing something like porting Star Castle to the Atari 2600
, or writing a lean mean demoscene. It's not a matter of complete
ignorance -- I took a Systems Programming class in college, and I've implemented the occasional inline assembly function in C, but I haven't really gotten much in the way of rigorous practice with regards to managing extremely precious resources. That's what I'd like to do, and so I'm thinking that some sort of emulator of an older and/or simpler system is what I need. With that in mind, here are the things I'd like it to have:
1. As much applicability to future projects as is feasible. I expect that I won't be dealing with the x86 instruction set here, so that type of applicability is probably out, but I'd value any other kind. MMIXware
is a good example, because I'll have an advantage if I ever decide to work through The Art of Programming
2. Some sort of pre-existing infrastructure for a virtual display, like MMIXX
, would be nice. I want this because I'm probably going to be centering my explorations here around demoscene-like projects.
3. No reliance on extra hardware for the moment. If you think that that's a good direction to go in terms of pursuing this interest, then by all means tell me. It's just that a relatively low barrier to entry is important to me at the moment.
So obviously I may have answered my own question with the whole MMIX thing, and if that's the case, great! I just think there are probably a lot of things out there that might work for me that I don't know about, and some of them might be better for my purposes.