
Fantasy console on a console - jborza
https://jborza.github.io/emulation/2019/10/20/fantasy-console-on-a-console.html
======
derefr
I would like to take this chance to mention the excellent
[https://github.com/rust-console/gba](https://github.com/rust-console/gba)
crate, which is a very useful zero-cost Rust abstraction layer you can use
instead of the C compiler in the devkitPro GBA toolchain (and would be
especially good for programming systems things like emulators, for the GBA.)

If you have some low-level C knowledge, but have never seen bare-metal
programming done in Rust, it’s really quite a difference in approach; despite
your statements compiling down to banging physical memory pointers and MMIO
registers together, it feels quite safe—with a proper library helping you out,
it becomes quite hard to put the system into a wedged state, for no runtime
cost. You can’t even put bitflag registers into invalid states!

------
RodgerTheGreat
6502asm is a neat little project. I'm not sure it's early enough to be the
first "fantasy console", though. :)

While the term was popularized by PICO-8[0], I think you could make a case for
the CHIP-8[1] virtual machine circa 1977. I've built some tools[2] and games
for CHIP-8, so I'm admittedly a bit biased. My user community is even running
a CHIP-8 themed game jam this month- I can plug the details if anyone is
interested.

[0][https://en.wikipedia.org/wiki/Pico-8](https://en.wikipedia.org/wiki/Pico-8)

[1][https://en.wikipedia.org/wiki/CHIP-8](https://en.wikipedia.org/wiki/CHIP-8)

[2][http://octo-ide.com](http://octo-ide.com)

~~~
verisimilitudes
Firstly with regards to the article, this is a neat environment and simple
project, but lacks niceties even basic hardware such as the Atari VCS
featured, including sprite handling and collisions thereof. When I start
developing 6502 games, I expect to start with the Atari VCS or NES/Famicom
platform, neither of which I believe have a true framebuffer. One noteworthy
and fundamental difference between these sets of environments that's
particularly interesting is that this 6502asm is capable of modifying its own
code, whereas the other two environments mentioned use ROM and so lack this.
As for its age, it seems younger than twenty years and so certainly wouldn't
qualify as a first.

Secondly, with regards to RodgerTheGreat, it's interesting to see one of your
messages here. I'm not certain I'd mark CHIP-8 as the first, but that's due
primarily to my not being aware of any older virtual machines used for games,
discounting any games on, say, the DEUCE. I've participated in this game jam,
as well as the last, so I expect my submission has been properly submitted;
here's to at least one other game I submit.

