50 lines
2.8 KiB
Markdown
50 lines
2.8 KiB
Markdown
# Varvara's rusty bicycle
|
|
|
|
This project is a (re)implementation of the Varvara personal computer in Rust, intended to target WASM and a web browser emulator.
|
|
|
|
- [Varvara](./doc/varvara.md) ([upstream docs](https://wiki.xxiivv.com/site/varvara.html)) is an 8bi personal computer reminiscent of video game controllers. Varvara is also a character in [Rekka](https://kokorobot.ca/site/home.html)'s art; this is her personal computer.
|
|
- [Tal](./doc/tal.md) ([upstream docs](https://wiki.xxiivv.com/site/uxntal.html)) is the reference assembler language for programming. The Tal is a friendly, hoofed quadruped implied to be helping Varvara.
|
|
- [UXN](./doc/uxn.md) ([upsteram docs](https://wiki.xxiivv.com/site/uxntal_reference.html)) is the instruction set underlying the Varvara computer.
|
|
|
|
## WTF UXN?
|
|
|
|
The entire uxn/tal/varvara stack will likely scan as unusual to professional developers.
|
|
Why design an 8/16bi microarchitecture in 202X?
|
|
|
|
The answer is that varvara is best understood as a political and art project.
|
|
Devine and Rekka are artists, living on a boat and embracing a minimalist/solarpunk/permaculture politic.
|
|
While Devine appears to have more professional software development experience than they let on, the entire project is amateur.
|
|
|
|
To those who've spent time with computer design, many design decisions in the system may seem odd.
|
|
Fundamentally the answer to many of the WTFs is that ... varvara isn't designed for that.
|
|
|
|
Why doesn't it have signed arithmetic?
|
|
Why doesn't it have memory protection?
|
|
Why doesn't it have floating point?
|
|
Why doesn't it have a real multiprocessing/interrupt model?
|
|
Why doesn't it have a networking model?
|
|
Why doesn't it have ...
|
|
|
|
Because it's an unscalable[¹](https://arxiv.org/abs/2010.08850) vision of personal computing.
|
|
It's designed to let a person with limited computing and network resources build their own reality marble of personal software.
|
|
|
|
"you build your pocket universe, and then in you go"
|
|
|
|
There's [a bunch of software](https://wiki.xxiivv.com/site/roms.html) for Varvara, all of which should emphasize this point.
|
|
Building [your own spreadsheet engine](https://wiki.xxiivv.com/site/nebu.html) is certainly a statement.
|
|
|
|
## Why this project?
|
|
|
|
Having done some compiler and computer architecture work, the Varvara computer was ... baffling.
|
|
The documentation is far more artistic than implementer or even user centric.
|
|
|
|
This project is the results of my effort to reverse engineer and document the Varvara system well enough to re-implement it.
|
|
|
|
Varvara isn't my vision of my personal computer.
|
|
I've got different requirements and expectations.
|
|
But I have a lot of respect for the relative success of the project, especially considering that I've spun my wheels on my own vision for years.
|
|
So consider this my meditation on an artifact.
|
|
|
|
## License
|
|
|
|
This software is released under the [Anti-capitalist software license v1.4](./LICENSE.md).
|