About this mod
Real, programmable computers for your settlements.
- Requirements
- Permissions and credits
What this isn't:
In the interest of clarity I'll start with what this mod isn't. There is no operating system, no GUI, no text terminal, and you can't "log in".
What this is:
So, all of that said, what the hell does it do? RISC-V Mainframes (RVM) adds modular, programmable computer components for your settlements. Calling them mainframes is somewhat misleading as they are intended to be used in a manner closer to a microcontroller or PLC.
Components added: (currently located in Power/Misc)
- RISC-V CPU
- Expansion Rack
- Reverse Expansion Rack
- 1kb RAM Module
- Input Module
- Output Module
- Relay Module
- Messagebox Module
- (Reverse) Dumb Rack
- Decorative Panels
The code:
In the spirit of openness I am making the full source of this mod available from day one. You can browse it/follow my progress (or potentially contribute!) over at GitHub.
Requirements:
You will need Intelligent Snap Points, Settlement Menu Manager and Binlib in order to use this mod.
Uninstall:
This mod uses Settlement Menu Manager to add custom settlement menu categories. This means that you don't need to worry about running a
special holotape/chem before you uninstall it: just remove it from your load order and you're done.
FAQ:
Q: How do I program it?
A: You will write your programs in assembly language, assemble them using my assembler (RVeAs from my risk-vee project), and load them in-game using a batch file. I haven't written a "Hello World!" tutorial yet, but an experienced person could probably figure things out by browsing the code.
Q: How fast is it?
A: The profiling I have done shows that each instruction takes around 650ms (or around 20ms with the console open).
Q: Could it be sped up?
A: Yes. There are some very naive "just make it work" sections in the code; however, at this point it isn't worth trying to squeeze any extra performance out of it.
A2: The primary reason it is so slow is that Papyrus doesn't support bitwise operations natively. They have to be emulated with a bunch of fairly costly math operations (see my Binlib library). The script extender could profoundly speed things up, but I haven't sat down and dove into it yet.
Q: gcc supports RISC-V. Does this mean I'll be able to write my programs in C?
A: Without some serious work (of the "meh, not worth it" variety), no.
Q: There is a port of Linux for RISC-V. Will I be able to run Linux in Fallout 4?
A: No. Linux needs a memory management unit (yes, I know that isn't strictly true) and a few other things not included in this mod in order to run. Even if all of the requirements were implemented everything would be too slow to be usable.