File information

Last updated

Original upload

Created by

cadpnq

Uploaded by

cadpnq

Virus scan

Safe to use

Tags for this mod

About this mod

Real, programmable computers for your settlements.

Requirements
Permissions and credits
Disclaimer: This is an alpha release. That means that this mod is not feature complete and that stability is not guaranteed. You'll be fine if you install this mod to tinker around with it, but leaving it in your load order and continuing your game is inadvisable. For now there are no guides or end user documentation. Until things mature a little it doesn't make sense to provide any support or support material. Like I said, this is a rough alpha release.

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 PointsSettlement 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.