# Sample sys161.conf file # # This file tells System/161 what devices to use. # # There are 32 LAMEbus slots on the System/161 motherboard. There may # be only one bus controller card, and it must go in slot 31. Other # than that, you can put in whatever devices you want. # # The syntax is simple: one slot per line; the slot number goes first, # then the expansion card name, then any arguments. Some of the devices # have required arguments. # # The devices are: # # busctl The LAMEbus controller card. Must go in slot 31, and only # in slot 31. Required argument "ramsize=NUMBER" specifies # the amount of physical RAM in the system. This amount must # be a multiple of the hardware page size (which is probably # 4096 or 8192.) The maximum amount of RAM allowed is 16M; # this restriction is meant as a sanity check and can be # altered by recompiling System/161. # # trace The System/161 trace controller device. This can be used # by software for various debugging purposes. You can have # more than one trace card, but they all manipulate the # same internal state. No arguments. # # timer Countdown timer. The timer card also contains a real-time # clock and a small speaker for beeping. Most configurations # will include at least one timer. No arguments. # # serial Serial port. This is connected to the standard input and # standard output of the System/161 process, and serves as # the system console. Most configurations need this. There # is no support at present for more than one serial port. # No arguments. # # screen Full-screen memory-mapped text video card. This is # connected to the standard input and standard output of # the System/161 process, and serves as the system console. # There is no support at present for more than one screen. # Likewise, at present you may not use "screen" and "serial" # together. No arguments. NOTE: not presently implemented. # # random (Pseudo-)random number generator. This accesses the # randomizer state within System/161; thus, while you can # add multiple random cards, they all return values from the # same pseudorandom sequence. The random seed is set by # using either the "seed=NUMBER" argument, which sets the # random seed to a specified value, or the "autoseed" # argument, which sets the random seed based on the host # system clock. If neither argument is given or no random # device is used, the seed is set to 0. Note that the seed # affects various randomized behavior of the system as well # as the values provided by the random device. # # disk Fixed disk. The options are as follows: # rpm=NUMBER Set spin rate of disk. # sectors=NUMBER Set disk size. Each sector is 512 bytes. # file=PATH Specify file to use as storage for disk. # paranoid Set paranoid mode. # # The "file=PATH" argument must be supplied. The size must be # at least 128 sectors (64k), and the RPM setting must be a # multiple of 60. # # The "paranoid" argument, if given, causes fsync() to be # called on every disk write to make sure the data written # reaches actual stable storage. This will make things very # slow. # # You can have as many disks as you want (until you run out # of slots) but each should have a distinct file to use for # storage. Most common setups will use two separate disks, # one for filesystem storage and one for swapping. # # nic Network card. This allows communication among multiple # simultaneously-running copies of System/161. The arguments # are: # hub=PATH Give the path to the hub socket. # hwaddr=NUMBER Specify the hardware-level card address. # # The hub socket path should be the argument supplied to the # hub161 program. The default is ".sockets/hub". # # The hardware address should be unique among the systems # connected to the same hub. It should be an integer between # 1 and 65534. Values 0 and 65535 are reserved for special # purposes. This argument is required. # # NOTE: disable (comment out) nic devices if you aren't # actively using them, to avoid unnecessary overhead. # # emufs Emulator filesystem. This provides access *within* # System/161 to the filesystem that System/161 is running # in. There is one optional argument, "dir=PATH". The path # specified is used as the root of the filesystem provided # by emufs. (Note that it is possible to access the real # parent of this root and thus any other directory; this # argument does not restrict access.) The default path is # ".", meaning System/161's own current directory. # # # Here is a suggested default configuration: 512k RAM, two 5M disks. # 0 serial #0 screen 1 emufs #2 disk rpm=7200 sectors=2048 file=DISK1.img #3 disk rpm=7200 sectors=2048 file=DISK2.img #27 nic hwaddr=1 28 random seed=923751 29 timer 30 trace 31 busctl ramsize=2097152